我有两个分支:master
和my_branch
。
在my_branch
上工作时,我对N个文件file1.cpp,file2.cpp ... fileN.cpp进行了更改,并创建了一个pull请求。请注意,我的更改跨越多次提交(例如,我在第一次提交时将file1.cpp更改为file3.cpp,并在下次提交时将其更改为N-3文件)。与此同时,爱丽丝,鲍勃和查理也将他们的变化推向主人,包括那些触摸那些N档的人。我,然后做一个git pull(在master
上)以从远程仓库获取最新的主人。现在,我想确切地查看my_branch
和master
中哪些文件不同。请注意,我只关心my_branch
中我更改/提交的N个文件(在我的pull请求中的Files更改部分中可见)。我不在乎其他人可能已经改变的其他千个文件。一种方法是:
git diff master my_branch file1.cpp
git diff master my_branch file2.cpp
...
git diff master my_branch fileN.cpp
有没有更好的方法来执行此操作,而不是手动为每个文件键入diff?
请注意:
git diff master my_branch
没有用,因为它列出了我实际更改的N个文件以外的其他一千个文件。
答案 0 :(得分:2)
如果您没有任何需要引用的字符(空格等),您可以这样做:
git diff master mybranch -- $(git diff --name-only master...mybranch)
如果你确实有需要引用的文件,那么你将不得不回到:
git diff -z --name-only master...mybranch | xargs -0 git diff master mybranch --
答案 1 :(得分:0)
将master
分支合并到您的分支中,然后区分两个分支。