Git Cherry-Pick和Git Revert有什么区别?

时间:2012-10-26 11:19:48

标签: git git-revert git-cherry-pick

我仍然觉得git的行为有些令人困惑。在经历了重大的痛苦和误解后,我了解到git还原否定特定的提交,而不是将还原为提交。到目前为止我还没有使用过git cherry-pick。

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

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