目录
- 4、一次移除某几次提交
- (1)
git revert
移除某几次提交的修改 - (2)
git revert
移除某几次连续的提交的修改
- (1)
- 5、revert命令常用参数
- 6、
git revert
和git reset
命令的区别
提示:接上一篇文章 。4、一次移除某几次提交上一篇文章的演示中,只有两个提交需要
revert
,我们可以一个个回退 。但如果有几十个呢?一个个回退肯定效率太低而且容易出错 。(接上面示例)
我们可以使用以下方法进行批量回退:
(1)
git revert
移除某几次提交的修改命令:git revert <commit6> <commit5> <commit4> …
注意:提交的顺序是从最近的提交开始往前写 。示例:
# 1.查看版本库历史提交记录L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/revert_test (master)$ git log --oneline30f7626 (HEAD -> master) Revert "第6次提交,revert 撤销第3次提交"d0c8e48 Revert "第5次提交,revert 撤销第4次提交"c04b29c 第4次提交,新增内容:revert test v4fd819dc 第3次提交,新增内容:revert test v3c71ae3c 第2次提交,新增内容:revert test v2557f7c3 第1次提交,新增readme.txt文件# 2.把第5、6次提交移除# 先写提交5ID,在写提交6IDL@DESKTOP-T2AI2SU MINGW64 /j/git-repository/revert_test (master)$ git revert d0c8e48 30f7626Auto-merging readme.txtCONFLICT (content): Merge conflict in readme.txterror: could not revert d0c8e48... Revert "第5次提交,revert 撤销第4次提交"hint: after resolving the conflicts, mark the corrected pathshint: with 'git add <paths>' or 'git rm <paths>'hint: and commit the result with 'git commit'
说明:Auto-merging readme.txt
:自动合并readme.txt
文件出现问题 。CONFLICT (content): Merge conflict in readme.txt
:冲突(内容):在readme.txt中合并冲突 。error: could not revert d0c8e48... Revert "第5次提交,revert 撤销第4次提交"
:无法还原d0c8e48提交 。hint: after resolving the conflicts, mark the corrected paths
:解决冲突后,把冲突文件提交到暂存区 。hint: with 'git add <paths>' or 'git rm <paths>'
:可使用“ git add <路径>”或“ git rm <路径>”方法,添加冲突文件到暂存区,或者删除文件 。hint: and commit the result with 'git commit'
:提示:并使用'git commit'提交结果 。
commit-6
,在写commit-5
。# 1.撤销第5、6次提交L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/revert_test (master)$ git revert 30f7626 d0c8e48[master 31341a4] Revert "Revert "第7次提交,revert 撤销第5、6次提交"" 1 file changed, 1 insertion(+)[master 509c208] Revert "Revert "第8次提交,revert 撤销第5、6次提交"" 1 file changed, 1 insertion(+)# 2.查看版本库历史提交记录L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/revert_test (master)$ git log --oneline509c208 (HEAD -> master) Revert "Revert "第8次提交,revert 撤销第5、6次提交""31341a4 Revert "Revert "第7次提交,revert 撤销第5、6次提交""30f7626 Revert "第6次提交,revert 撤销第3次提交"d0c8e48 Revert "第5次提交,revert 撤销第4次提交"c04b29c 第4次提交,新增内容:revert test v4fd819dc 第3次提交,新增内容:revert test v3c71ae3c 第2次提交,新增内容:revert test v2557f7c3 第1次提交,新增readme.txt文件# 3.查看readme.txt文件内容,又回到V4版本了L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/revert_test (master)$ cat readme.txtrevert test v1revert test v2revert test v3revert test v4
我们可以看到,每撤销一个commit提交,都会生成一个新的提交 。上面撤销了两个commit,就让你编写两次提交说明信息 。