检查两个分支中的哪个文件具有更高的提交

时间:2019-06-09 14:24:58

标签: git

我想(手动)将另一个分支中的更改合并到master中。 git diff --name-only仅给我所有不同的文件。我不想合并在master中具有较后提交的文件(多数情况下,这意味着该文件在另一个分支中没有更改)。

对于文件,如何显示哪个分支具有更高的提交?基本上我想在两个分支中显示git log -1 somefile的输出?有没有一种方法可以避免两次运行git log命令(每个分支一次)?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用--all --branches log parameters

git log -1 --all --branches -- yourFile

这将为您提供所有分支中的最新提交。

为了将其限制为仅两个分支,--branches采用了shell glob pattern
但这确实not support an "or" in the pattern expression though。您可能需要to display the branch和grep。

正如torek提到in the comments一样,revision range branch1...branch2也是更简单的选择。
那将使用three dots notation来定位可从branch1(左侧)或branch2(右侧)中的任何一个而不是两者都到达的提交集。 >

所以:

git log -1 branch1...branch2 -- yourFile