13

我仍然发现 git revert 的行为有些令人困惑。在经历了巨大的痛苦和误解之后,我了解到 git revert否定了一个特定的提交,而不是恢复 那个提交。到目前为止,我还没有使用过 git cherry-pick。

你能详细说明这两个 git 命令吗?您喜欢何时以及如何使用它们?

4

1 回答 1

8

git cherry-pick就像“将指定的提交转换为补丁并在此处应用此补丁”。

git revert就像“将指定的提交转换为补丁,'反转'这个补丁(如 in patch -R)并在此处应用它”。

这两个命令都可能导致冲突。

Cherry-pick 用于未合并(当前提交的父链接无法访问)提交。Revert 通常用于合并的提交。

撤消恢复提交需要进行另一个恢复提交(导致提交消息,如“Revert of 'Revert of ...'”),而不是挑选恢复提交(因为它被认为已经合并)。

于 2012-10-26T11:41:19.463 回答