首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git cherry混淆--不能像文档中描述的那样工作

git cherry混淆--不能像文档中描述的那样工作
EN

Stack Overflow用户
提问于 2009-06-24 10:18:24
回答 1查看 574关注 0票数 5

文档中说:“因为git-cherry比较的是变更集而不是提交id (sha1),所以你可以使用git-cherry来找出你在本地所做的提交是否已经在不同的提交id下应用了。”

让我们看看:

代码语言:javascript
复制
$ git cherry master release-1.1.0 | head -1
- 533e2559342910fbffa2be5b38fdd7f2ddb2ed53
$ git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53
...
(cherry picked from commit 409c61b3304373a73c787fdf9c08cc338934b74d)
...

git show显示了409c的相同更改集。和533e

代码语言:javascript
复制
$ git br --contains 533e2559342910fbffa2be5b38fdd7f2ddb2ed53
release-1.1.0
$ git br --contains 409c61b3304373a73c787fdf9c08cc338934b74d
master
release-1.0.4

这意味着变更集同时在master和release-1.1.0中。那么为什么git cherry显示533e..?

EN

回答 1

Stack Overflow用户

发布于 2009-06-24 16:22:29

它还说“将提交数与它们的补丁id进行比较,这是从git- patch -id程序中获得的。”当应用你精挑细选的diff时,它最终会不会是一个略微不同的diff?

在这种情况下,不仅提交id不同,而且作为git- patch -id的补丁id将为提交报告不同的补丁id,因此它们不会被认为是在彼此的分支中。

这一点很容易检查:

代码语言:javascript
复制
git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 | git-patch-id
git show 409c61b3304373a73c787fdf9c08cc338934b74d | git-patch-id

如果git- sha1 -id返回的第一个补丁在两次运行之间不同,就会发生这种情况。

警告lector --我还没有尝试过我的理论,但这就是我解释手册页的方式。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1037513

复制
相关文章

相似问题

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