1、简介
Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
2、下载和安装
2.1 Git
Git 是一个流行的软件开发版本控制系统。它允许您在存储库(repo)中管理代码的不同版本。
2.2 TortoiseGit
https://tortoisegit.org/ https://tortoisegit.org/download/
TortoiseGit 简称 tgit, 中文名海龟Git。TortoiseGit是一个开放的GIT版本控制系统的源客户端。
3、相关功能
3.1 基本命令
- 新建本地仓库
git init // 在当前目录新建一个Git代码库
echo "# hello world" >> README.md //在当前目录下新建README.md,且文件内容为'myblog';如果目录下已经有文件,请省略这一步
git add README.md //将README.md文件提交到问题暂存区
// git add . # 添加目录下的所有文件到暂存区
git commit -m "first commit" //将暂存区文件提交到本地仓库,且本次提交记录为'first commit'
git status -sb //显示当前所有文件的状态
- 提交仓库
git remote add origin https://github.com/microsoft/TypeScript.git
// git remote add origin 远程仓库地址 # origin是你的远程仓库的代称,可以改为别的
git add .
git commit -m "git init"
git push -u origin master # master为分支名,本地分支与GitHub上的远程仓库中的分支对应
git add .
git commit -m ""
git push origin master
- 复制远程仓库
git clone https://github.com/microsoft/TypeScript.git
// git clone git@github.com:microsoft/TypeScript.git
git pull //将远程库修改的内容下载到本地库
- 删除远程仓库中的文件
// git clone your_url
git add .
git rm [-r] 文件/文件夹 # 这种方式也会同步删除本地文件,-r为可选参数,添加后删除文件夹
git rm [-r] --cache 文件/文件夹 # 不会删除本地文件
git commit -m "删除了某个文件"
git push -u origin master
3.2 更新子模块命令
git submodule init
git submodule update
或:
git submodule update --init --recursive
4、常见问题
4.1 GitHub访问慢或者无法访问
4.1.1 修改本地hosts映射
域名解析直接指向GitHub的IP地址,以此来绕过DNS解析
在 ip地址查询网站中查询GitHub相关的网站对应的最新IP地址: https://myssl.com/dns_check.html https://whatismyipaddress.com/hostname-ip
- Windows系统:
- 修改C:\Windows\System32\drivers\etc\hosts文件的权限,指定可写入: 右击->hosts->属性->安全->编辑->点击Users->在Users的权限“写入”后面打勾。然后点击确定。
或者将当前文件复制到别的盘中,修改文件后复制回来覆盖原来文件。
- 右击->hosts->打开方式->选定记事本(或者你喜欢的编辑器)->在末尾处添加以下内容,再保存:
3. 刷新DNS缓存来访问新的映射。 hosts文件内容更新成功后,还需要刷新windows系统的DNS才可以生效。 使用 win+R ,打开cmd命令行,输入 ipconfig/flushdns 刷新DNS缓存即可。
ipconfig/flushdns
4.1.2 通过Gitee中转fork仓库下载
4.2 OpenSSL SSL_read: Connection was reset, errno 10054
-
问题描述 <font color=red>fatal: unable to access 'https://github.com/xxx/autowrite.git/': OpenSSL SSL_read: Connection was reset, errno 10054 又或者: fatal: unable to access 'https://github.com/xxx/autowrite.git/': Failed to connect to github.com port 443: Timed out
-
解决方法:
//取消http代理
git config --global --unset http.proxy
//取消https代理
git config --global --unset https.proxy
//解除验证
git config --global http.sslVerify "false"
结语
如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;
╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;
o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;
(✿◡‿◡)
感谢各位大佬童鞋们的支持!
( ´ ▽´ )ノ ( ´ ▽´)っ!!!