Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git cherry混淆-不';t如文档中所述工作_Git_Dvcs - Fatal编程技术网

git cherry混淆-不';t如文档中所述工作

git cherry混淆-不';t如文档中所述工作,git,dvcs,Git,Dvcs,文档中说:“因为git cherry比较的是变更集而不是提交id(sha1),所以您可以使用git cherry来确定您在本地进行的提交是否应用于不同的提交id下。” 让我们看看: $ git cherry master release-1.1.0 | head -1 - 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 $ git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 ... (cherry picked f

文档中说:“因为git cherry比较的是变更集而不是提交id(sha1),所以您可以使用git cherry来确定您在本地进行的提交是否应用于不同的提交id下。”

让我们看看:

$ git cherry master release-1.1.0 | head -1
- 533e2559342910fbffa2be5b38fdd7f2ddb2ed53
$ git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53
...
(cherry picked from commit 409c61b3304373a73c787fdf9c08cc338934b74d)
...
git show显示了409c的相同变更集。。和533e

$ 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

它还说“提交与从git补丁id程序获得的补丁id进行比较。”。当应用您的樱桃采摘的差异,它是否可能最终是一个略有不同的差异

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

这很容易检查:

git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 | git-patch-id
git show 409c61b3304373a73c787fdf9c08cc338934b74d | git-patch-id
如果git patch id返回的第一个sha1在两次运行之间不同,则会发生这种情况


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

我的路径中没有git补丁id,但“git补丁id”确实有效。