首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git-cherry似乎不适用于混乱的合并

git-cherry似乎不适用于混乱的合并
EN

Stack Overflow用户
提问于 2011-03-21 19:38:51
回答 1查看 487关注 0票数 0

我尝试使用git cherry-pick来合并来自master的一些提交,然后使用git-cherry来确定当前合并了哪些提交。当我按照master上的顺序合并它时,它工作得很好,但是当我跳过合并一个提交时,它不会显示下一个合并的提交。示例如下:

代码语言:javascript
复制
$ git branch
* branch
  master
$ git log --oneline
46aad17 comment4
56e43b0 comment3
26370b3 comment2
6192fa4 comment1

$ git cherry -v branch master
- 5c5e979707cd6a77ef3ae79627cdd211cad86a28 comment3
- ee0386c78d9e6d21dce7a8bac8e40beef73fb993 comment4
+ 9495c94ece440d9a05c3218f88d1b72a7fd67664 unmerged # this wasn't merged
+ 235b0822f08f351264071e7b2500caa9af997fb8 comment2

问题是为什么comment2在日志中显示为未合并,而在日志中显示为合并?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-21 19:53:53

作为初步说明,将这些描述为合并有点令人困惑-它们只是精挑细选,即通过将另一个提交引入的补丁应用到新的父级上而创建的提交。

git cherry查看提交引入的补丁,并进行测试以查看上游分支中是否已经引入了类似的补丁。如git cherry man page中所述,它根据两个补丁是否具有相同的"patch ID"来决定它们是否相同,描述如下:

“补丁ID”只不过是与补丁相关联的SHA1,其中忽略了空格和行号。因此,它是“相当稳定的”,但同时也是相当独特的,也就是说,具有相同“补丁ID”的两个补丁几乎保证是相同的。

哦,你可以使用这个东西来寻找可能的重复提交。

因此,我怀疑如果没有检测到与comment2关联的提交已经被应用,那是因为补丁if不同。例如,这可能是因为在精挑细选与comment2关联的提交时必须解决冲突。这很可能意味着提交引入的补丁最终是不同的。您可以通过比较这两个命令的输出来查看这是否正确:

代码语言:javascript
复制
git show 26370b3
git show 235b082
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5377095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档