没使用--no-edit的话,git revert会进入编辑模式,默认使用 Vim 程序。不会使用 Vim 的话可以打入:q然后按 Enter/return 键退出让git revert使用默认的Revert <message>作为提交信息。 revert HEAD表示着只还原HEAD(也就是当前提交记录) 的更改,效果刚好是恢复到上个提交记录。 指定其他记录,只会还原那个记录的更改。
我们执行git reset --hard A,按照参数hard的字面意思,reset 的非常强硬,repository、index、working tree都会回滚到A,因为working tree工作区也回滚了,所以本地的所有修改也将丢失,--hard相对来说比较危险,需要确保工作区没有需要保留的代码,--hard适合的情况是对于当前的即将要提交的代码失去信心,准备推倒重来 rever...
与git reset相反,git revert没有改变已有提交历史。基于此,git revert应该被用于撤销公共分支上的变更,而git reset应该被限制于撤销私有分支的变更。 你也可以理解为git revert用于撤销已提交的变更,git reset用于撤销未提交的变更。 与git checkout一样,git revert操作也会导致潜在的文件覆盖,所以Git也会要求在revert...
此时不能用 "git reset",需要用 "git revert"! 重要事情说三遍!之所以这样强调,是因为 "git reset" 会抹掉历史,用在已经 push 的记录上会带来各种问题;而 "git revert" 用于回滚某次提交的内容,并生成新的提交,不会抹掉历史。 git reset回滚某次提交 确保还没其他人提交之前,进行强制回滚——重置HEAD(当前...
2.5.git revert 3. 总结 常言道,君子一言驷马难追,世上没有后悔的药。但是在git的世界,你却有一架时光机,可以自由地在过去和未来之间穿梭。本文主要讲解git撤回方法,将从原理进行分析,以及仔细分析多种撤回方法的区别。 1. 工作区和暂存区 当我们修改一个文件时,通常第一步需要先git add命令把文件添加进去,然...
git reset --hard A git reset --soft D git commit -m" Revert D C B" 通过这种方式也能回滚回A,并且生成一个新的 commit,其中包括了D、C、B的逆向修改: 先reset --hard到A,这时repository、index、working tree都会回滚到A 再reset --soft到D,这时repository指向了D,但是index和working tree还保持在...
revert-demo.png 过程中如果遇到问题(如处理冲突时搞乱了),可用 "git revert --abort" 取消本次回滚行为。 如果要回滚的是一个合并 commit,revert 时要加上"-m <父节点序号>",指定回滚后以哪个父节点的记录作为主线。合并的 commit 一般有 2 个父节点,按 1、2 数字排序,对于要回滚“分支合入主干的 commi...
使用命令行revert 1. 查看版本号 可以通过命令行查看(输入git log),也可以通过github网站图形化界面查看版本号: 2.使用“git revert -n 版本号”反做,并使用“git commit -m 版本名”提交: (1)反做,使用“git revert -n 版本号”命令。如下命令,我们反做版本号为8b89621的版本: ...
Try to run git status to better understand what is happening to your working branch or environment. As written in the status, the best option is to run the command below to clean the previous attempt: git revert --abort With that, you are able to work in your branch as before. Ther...
Git revert 用于撤回某次提交的内容,同时再产生一个新的提交(commit)。原理就是在一个新的提交中,对之前提交的内容相反的操作。 下面通过例子具体解释一下: 现有一个git项目,已经有3次提交,每次添加一个文件,具体提交步骤如下: # 第一次提交 $ echo "first commit" > test.txt $ git add test.txt $ git...