GIT版本控制教程


一、常用操作

1. 日志查看

查看哪位用户何时提交文件,附带了每次提交的变化,并显示对应提交的校验码。

git log --stat

二、撤销回退

1. 撤销提交

(1) 撤销提交

如果发现提交有误想撤销已添加到缓存区的文件,输入下面命令即可。

该命令用于撤销已 commit 但未 push 的文件,soft 表示只撤销提交,hard 表示撤销提交并删除本地文件中本次提交内容。

git reset --soft HEAD^
(2) 删除文件
git rm test.txt                 # 同时从暂存区和本地目录下删除文件。

git rm --cached test.txt        # 只删除缓存区文件,保留本地文件

2. 版本回退

(1) 回退为上个版本

一个 ^ 表示退回到上个版本,两个则退回到上上个版本提交。

其中 --hard 表示回退并移除本地变化,--soft 则只移除 Git 提交但保留本地变更。

git reset --hard HEAD^  
(2) 回退到指定版本

我们需要先查看每次提交命令对应的 ID ,显示的最前面 7 位字符就是对应命令的 ID 了。

在输入 ID 的时候可以不用完整输入七位编码,正常情况 45 位即可,系统会自动匹配。

git reflog                  # 查看ID

git reset --hard <ID>       # 回退指定版本
(3) 撤销编辑

如果文件修改了但尚未通过 add 添加到暂存区,则会回退到你上次 commit 一样的状态;若在添加到暂存区后进行了修改文件,则会回到添加到暂存区后的状态。

git checkout -- test.txt  

三、分支操作

1. 查看分支

用于查看存在哪些分支,以及当前在哪个分支上,在初始化仓库时会自动创建 master 分支。

git branch

2. 分支管理

(1) 创建分支

其中 branch-name 为你创建的分支名。

git branch <branch-name>
(2) 切换分支

通过 checkout 命令切换当前所在分支。

git checkout <branch-name>       # 创建分支

git checkout -b <branch-name>    # 创建分支并切换到该分支
(3) 删除分支

通过 -d 表示删除分支。

git branch -d branch-name

3. 合并分支

将对应分支的内容合并到当前分支,如要将 分支a 合并到 分支b ,则需要先切换到 分支b再输入命令。

git merge <branch-name>

四、标签操作

通过上面的 git reflog 可以看到每次提交命令都有对应唯一的 ID 码,但它是系统随机生成在记忆方面十分困难,所谓打标签就好比给其取一个更好记的别名。

1. 标签创建

在当前位置打标签,其中 v1.0 可以换成你需要的标签。

git tag -a v1.0 -m "标签备注"

给之前提交的打标签,将其中 id 替换成对应提交记录的 id

git tag -a v1.0 <id>

2. 查看标签

通过 show 命令即可查看对应标签的详细信息。

# 列出所有标签
git tag

# 查看指定标签信息
git show v1.0

五、常见异常

1. 连接重置

提示 OpenSSL SSL_read: Connection was reset, errno 10054

git config --global http.sslVerify "false"

2. 文件名过长

提示 Filename too long 说明提交的文件名称过长,需要设置放行长文件。

git config --global core.longpaths true

3. 大小写忽略

Git 仓库中默认是不区分文件大小写的,如文件 aa.txtAA.txt 系统默认是同一个文件,若需要开启大写识别需要进行配置。

打开 .git/config 文件,将文件中的 ignorecase 设置为 false 即可。

repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false

# 是否忽略大小写,设置为 false
ignorecase = false

文章作者: 烽火戏诸诸诸侯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 烽火戏诸诸诸侯 !
  目录