2016-10-21 27 views
0

我在我的存儲庫中有兩個分支,我想對某些文件進行比較。如何僅列出兩個分支之間有更改的文件名?

我想這兩個分支

喜歡的東西之間只列出新添加的遷移:

git diff branch1 branch2 | grep /db/migrate 

任何幫助表示讚賞

+0

你這是什麼是指「新增移民」? – neuhaus

+3

[顯示哪些文件在兩次修訂之間發生了更改]可能有重複(http://stackoverflow.com/questions/822811/showing-which-files-have-changed-between-two-revisions) –

+0

兩個分支之間新添加的遷移一老一新 –

回答

2

該命令將會給出他們的整個歷史

git diff branch1..branch2 - 僅限名稱

如果你想從他們最後的共同祖先來比較,然後

git的差異BRANCH1 ... BRANCH2 --name只

現在你可以grep你想要的文件。從那裏可以很容易地編寫出可以通過文件區分兩個分支文件的小shell腳本。

filenames=$(git diff branch1...branch2 --name-only | grep /db/migratons) 
IFS=' ' 
read -r -a filearr <<< "$filenames" 
for filename in "${filearr[@]}" 
do    
     echo $(git diff branch1...branch2 -- "$filename") 
done 

創建混帳命令名稱文件,並把它變成用戶/ bin文件夾(你應該參數化輸入 - 分公司作爲變量)

的Git將其識別爲命令,你可以調用與

git的命令名稱BRANCH1 BRANCH2

相關問題