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