我想(手动)将另一个分支中的更改合并到master中。 git diff --name-only
仅给我所有不同的文件。我不想合并在master中具有较后提交的文件(多数情况下,这意味着该文件在另一个分支中没有更改)。
对于文件,如何显示哪个分支具有更高的提交?基本上我想在两个分支中显示git log -1 somefile
的输出?有没有一种方法可以避免两次运行git log
命令(每个分支一次)?
答案 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