主要文件和所有文件之间的Git差异在拉取请求中发生了变化

时间:2015-04-15 05:32:24

标签: git github version-control

我有两个分支:mastermy_branch。 在my_branch上工作时,我对N个文件file1.cpp,file2.cpp ... fileN.cpp进行了更改,并创建了一个pull请求。请注意,我的更改跨越多次提交(例如,我在第一次提交时将file1.cpp更改为file3.cpp,并在下次提交时将其更改为N-3文件)。与此同时,爱丽丝,鲍勃和查理也将他们的变化推向主人,包括那些触摸那些N档的人。我,然后做一个git pull(在master上)以从远程仓库获取最新的主人。现在,我想确切地查看my_branchmaster中哪些文件不同。请注意,我只关心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个文件以外的其他一千个文件。

2 个答案:

答案 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分支合并到您的分支中,然后区分两个分支。