如何git revert使用?
git revert
然后当有人问如何使用时,git reset人们回复说你应该git revert按照Git 使用 -如何回滚。
git reset
在不知不觉中,八位不同的人出现了,他们以自己独特的方式拯救了 OP 的屁股,所有这些都在你的脑海中。
所以让我们试着坚持简短并写一个傻瓜指南git revert。
一个场景:你已经提交了两次master,结果很糟糕。你已经推动,其他人也有你不好的改变。
你想撤消它。这不是您可以自己在代码中手动撤消的东西,比如说某个向导或包管理器在整个地方更改了大量的东西——您只是想把它全部恢复原状。
这就是源代码控制的全部意义所在。我敢肯定这很容易。
好的,您将使用git revert,但是如何使用?
而且跑完之后git revert还要做别的吗?您是否必须提交所做的更改还原或还原直接提交到存储库或什么?
显然,您需要再次推动并可能向团队宣布您的球。
git revert只需创建一个与现有提交相反的新提交。
它使文件处于相同的状态,就好像已恢复的提交从未存在一样。例如,考虑以下简单示例:
$ cd /tmp/example $ git init Initialized empty Git repository in /tmp/example/.git/ $ echo "Initial text" > README.md $ git add README.md $ git commit -m "initial commit" [master (root-commit) 3f7522e] initial commit 1 file changed, 1 insertion(+) create mode 100644 README.md $ echo "bad update" > README.md $ git commit -am "bad update" [master a1b9870] bad update 1 file changed, 1 insertion(+), 1 deletion(-)
在这个例子中,提交历史有两次提交,最后一次是错误的。使用 git 还原:
$ git revert HEAD [master 1db4eeb] Revert "bad update" 1 file changed, 1 insertion(+), 1 deletion(-)
日志中将有 3 个提交:
$ git log --oneline 1db4eeb Revert "bad update" a1b9870 bad update 3f7522e initial commit
因此,发生的事情有一致的历史记录,但文件好像从未发生过错误更新:
cat README.md Initial text
要恢复的提交在历史记录中的哪个位置无关紧要(在上面的示例中,最后一次提交被恢复 - 任何提交都可以恢复)。
之后你还需要做其他事情吗?
Agit revert只是另一个提交,因此例如推送到远程 , 以便其他用户可以拉/取/合并更改,您就完成了。
您是否必须提交所做的更改还原或还原直接提交到存储库?
git revert 是 一个提交 - 假设恢复单个提交是您想要做的,没有额外的步骤。
显然,您需要再次推动并可能向团队宣布。
确实 - 如果遥控器处于不稳定状态 - 与团队的其他成员沟通他们需要拉动以获得修复(恢复提交)将是正确的做法:)。