(这是我第一次尝试使用 git 的樱桃采摘,所以也许我误解了它是什么或它可以做什么(
在功能分支中开发一些新功能时(为简单起见,我们将其称为next
(,我在当前master
中发现了一些错误,我"即时"修复了这些错误(这可能不是最好的主意(。现在我认为功能分支已经完成,我想挑选一些或全部在next
中修复的错误,以master
在功能发布之前发布错误修复版本。
所以我签出了master
并尝试了(在阅读了 git-cherry 手册页后(:
git cherry
git cherry next
git cherry -v next
git cherry -v next master
但是,即使next
和master
之间存在巨大差异,也没有一个命令输出任何内容。
那么问题出在哪里呢?是我做错了什么,还是对采摘樱桃有误解?手册引用了一些"源"分支,而我的分支是本地的。
如果樱桃采摘是错误的工具,那么实现我想要做的事情的正确程序是什么?
git cherry
和git cherry-pick
是两个不同的命令。 来自源 git 樱桃:git cherry [-v] [<upstream> [<head> [<limit>]]]
将显示upstream
上head
缺少的提交 ID。在您的情况下,git cherry next master
没有显示任何内容,因为master
上没有提交,next
分支上不存在。您可以git cherry master next
检查另一种方式,您将看到所有next
提交 ID,这些 ID 在master
上不存在。
一旦你知道了你想要挑选的提交的 id,就用git cherry-pick commitID