【问题标题】:Git revert explanationgit revert 解释
【发布时间】:2016-12-31 11:17:18
【问题描述】:

在线阅读,我了解 git revert 取消了过去的一次提交,但我不清楚这意味着什么,除非取消的提交是执行的最后一次提交。

例如,观察文件的以下三个版本:

"a" => "aa" => "a|a"

如果我还原第 2 版,第 4 版会是什么样子? “|a”还是“a|”?

【问题讨论】:

  • git revert 不会影响之前的提交。它创建一个 new 提交。我建议阅读:atlassian.com/git/tutorials/undoing-changes
  • 你说得对,我更新了问题。我阅读了本教程中的相关部分,这让我提出了这个问题。
  • 好的。不过,我不明白您问题中的符号,这是文件的文字内容吗? (FWIW,你可以试试看会发生什么。)
  • 我再次更新了问题,并在字符串周围添加了引号。关键是我是否将 a 添加到原始 a 的右侧或左侧是不明确的,并且恢复该提交将必须选择其中一个来删除。 (因为删除最右边的 a 与删除最左边的 a 的结果会有所不同)
  • 你真的应该试一试...

标签: git git-revert


【解决方案1】:

通过创建一个与您要恢复的提交中引入的更改相反的补丁来恢复工作并尝试应用它,然后创建一个提交。

如果补丁由于提交之间的某些更改而无法应用,您将不得不解决冲突...

我希望它能帮助您更好地了解它的工作原理。

PS:您的符号无助于理解和解释还原的工作原理,因为更改是在行级别而不是文件级别...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2017-01-12
    • 2021-04-10
    • 2020-05-13
    相关资源
    最近更新 更多