GitHub for Windows中revert this commit和roll back this commit的含义是什么?

47
Github for Windows中的这两个命令如下描述:
1. revert this commit - 创建一个新提交来撤销此提交所做的更改。 2. rollback this commit - 回滚此提交,保留在此提交和后续提交中所做的所有更改。
请解释这两个命令的确切含义以及如何使用它们。具体而言,我不明白第二个命令的目的是什么。它对我来说毫无意义。
是否可能还原到以前的提交并检查它,如果我不喜欢它,回到最初的状态?
这个GUI似乎只包含Git系统的一小部分,但是什么是适当的工作流程?

1
由于您下面有一些似乎回答了您的问题,请考虑通过点击其投票计数下方的勾选标记之一将其中一个标记为“已接受”。这显示哪个答案对您最有帮助,并将声誉点分配给答案的作者(以及您!)。这是该网站通过赞成和接受答案来识别好问题和答案的想法的一部分。 - jub0bs
@Jubobs完成了!谢谢你的提示! - Zingam
2个回答

64
假设您的 repo 中只有一个文件,并且您有以下提交记录:
commit 1 : the file contains A
commit 2 : the file contains B
commit 3 : the file contains C

如果您在提交3上执行还原操作,它将出现在存储库中:
commit 1 : the file contains A
commit 2 : the file contains B
commit 3 : the file contains C
commit 4 : the file contains B

我会尽力为您翻译,这段内容涉及编程,意思是:在你的工作副本中的文件也将包含B。如果您执行回滚操作,您将在仓库中看到这个:

如果您对我的翻译有任何疑问,请随时告诉我。

commit 1 : the file contains A
commit 2 : the file contains B

您的工作副本中的文件将保持不变。因此,该文件将包含C。例如,它允许您修复一个小错误并再次提交。


那么我基本上会删除提交,但不会更改任何文件? 这样做的目的是什么?如果我给提交命名为:“BBbbadd spppelling”,然后我注意到我的错误,那就是我纠正它的方式。还有其他方面吗? - Zingam
1
是的。为什么不进行实验,看看会发生什么? - JB Nizet
其实我现在正在进行实验,但我不太确定到底会发生什么 :) 我现在终于明白了。我找不到任何关于这两个命令的功能的“帮助/维基”。谢谢! - Zingam
2
第二条命令只是移动了 HEAD,所以你可以解释一下。 - prehistoricpenguin
4
值得注意的是 git reset --hard <old-commit-id> 命令将回滚版本库和工作副本到指定的旧提交 ID。而使用 --soft 选项仅会更改 HEAD,不会影响工作副本。 - KyleMit

13
“我是否可以回到以前的提交版本,查看它,如果我不喜欢,再回到最初的版本?”
现在(2013年3月),使用GitHub for Windows,您可以撤消回滚操作,而无需键入任何git命令:
请参见“GitHub for Windows中的撤消按钮
“我们已经为丢弃、提交、回滚和合并添加了撤消支持:”

Undo button


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接