【问题标题】:What is the meaning of revert this commit and roll back this commit in GitHub for Windows?在 GitHub for Windows 中 revert this commit 和 roll back this commit 是什么意思?
【发布时间】:2013-02-08 23:04:50
【问题描述】:

Github for Windows 具有以下两个命令:

  1. revert this commit - 创建一个新的提交来还原此提交的更改
  2. rollback this commit - 回滚此提交,将在此和后续提交中所做的所有更改保留在您的工作目录中

您能否解释一下这两个命令的确切含义以及如何使用它们。具体来说,我不明白第二个的目的是什么。这对我来说毫无意义。

是否可以恢复到以前的提交,检查一下,如果我不喜欢它,回到最初的位置?

这个 gui 似乎只包含 git 系统的一小部分,但使用它的正确工作流程是什么?

【问题讨论】:

  • 由于您在下面的一些回复似乎可以回答您的问题,请考虑通过单击其投票数下方的勾号将其中一个标记为“已接受”。这显示了哪个答案对您最有帮助,并将声誉点分配给答案的作者(以及您!)。通过投票和接受答案来确定好的问题和答案是本网站理念的一部分。
  • @Jubobs 完成!感谢您的提示!

标签: github rollback revert github-for-windows


【解决方案1】:

假设您的 repo 中有一个文件,并且您有以下提交:

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

如果你在 commit 3 上执行 revert,你会在 repo 中有这个:

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。

如果你执行回滚,你会在 repo 中有这个:

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

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

【讨论】:

  • 所以我基本上会删除提交但不会更改任何文件?这样做的目的是什么?如果我将提交命名为:“BBbbadd spppelling”,然后我注意到我的错误就是我修复它的方式。或者还有更多内容?
  • 是的。你为什么不做实验看看会发生什么?
  • 实际上我现在正在试验,但我不太确定到底发生了什么:) 我想我现在终于明白了。我找不到任何关于这两个命令功能的“帮助/维基”。谢谢!
  • 第二个命令只是移动HEAD,所以你可以解释一下。
  • 可能值得注意的是,git reset --hard <old-commit-id> 会将 repo 和工作副本回滚到提供的old-commit-id。而使用 --soft 选项只会更改 HEAD 并保持您的工作副本不变。
【解决方案2】:

是否可以恢复到以前的提交,检查一下,如果我不喜欢它,回到最初的位置?

现在(2013 年 3 月),使用 GitHub for Windows,您无需输入任何 git 命令即可撤消回滚:

见“Undo Button in GitHub for Windows

我们添加了对放弃、提交、回滚和合并的撤消支持

【讨论】:

    猜你喜欢
    • 2021-05-25
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    • 2017-12-21
    • 2011-08-22
    • 1970-01-01
    • 2014-05-20
    • 2023-01-24
    相关资源
    最近更新 更多