Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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分支?_Git_Git Diff - Fatal编程技术网

如何通过提交消息而不是散列来比较两个Git分支?

如何通过提交消息而不是散列来比较两个Git分支?,git,git-diff,Git,Git Diff,如果我使用git log develope..feature,它将使用hash id显示develope分支和feature分支之间的差异 但是,我已经重新设置了一个分支的基础,即使提交相同(因为父级不同),提交哈希现在也不同了 如何通过提交消息比较这两个分支 注意:我知道用这种方法进行比较是不可靠的。这不是确定分支之间差异的唯一区别,但它将帮助我识别任何额外的提交。这取决于您所说的“比较”是什么意思 三点符号可以告诉您它们没有共同点的所有提交 git log develop...feature

如果我使用
git log develope..feature,它将使用hash id显示develope分支和feature分支之间的差异

但是,我已经重新设置了一个分支的基础,即使提交相同(因为父级不同),提交哈希现在也不同了

如何通过提交消息比较这两个分支


注意:我知道用这种方法进行比较是不可靠的。这不是确定分支之间差异的唯一区别,但它将帮助我识别任何额外的提交。

这取决于您所说的“比较”是什么意思

三点符号可以告诉您它们没有共同点的所有提交

git log develop...feature
如果您想通过提交消息找到它们的共同点,可以尝试区分所有提交标题行的排序列表

diff -u <(git log --format='%s' feature..master | sort) <(git log --format='%s' master..feature | sort)

diff-u@optic与其编辑答案,不如澄清问题?我不清楚你希望这种比较如何发生。也许你可以提供一个具体的例子?问题的第一行说明使用点符号比较使用散列id。下一行解释为什么我不能使用它。然后,问题是如何通过提交消息进行比较。您对三点符号的引用不是一个有效的答案,因为它通过散列id进行比较,我说过我不能使用散列id。关于在公共父级上重定基址的部分也没有回答如何通过提交消息进行比较的问题。中间部分是答案中唯一相关的部分。@我回答的不仅仅是字面上的问题,因为这闻起来像一个;我认为让Git用rebase修复分支比手动比较修复分支更容易。但是,我还是不清楚情况。你能澄清一下吗?举一个你的分支的例子,你是如何让它们陷入这种情况的,以及你希望看到的那种比较会有所帮助。我意识到这是多年前的事了,但这是一个有趣的问题。