2015-09-07 55 views
-2

UPD如何查看分支上尚未掌握的更改?

  1. 創建存儲庫(ForkPoint)
  2. 創建分支
  3. 做一些承諾分支
  4. 切換回master
  5. 做同樣對master一些變化,作爲分支
    (例如,在分支上添加行'a'並刪除'b',並編輯'c'。
    master做相同的:添加 '線',去掉 'B',但編輯 'd')
  6. master

一些犯所以,現在,在master,我們有:

$ git diff ForkPoint..master:HEAD 
@@@[email protected]@@ 
new line 'a' 
removed line 'b' 
edited line 'd' 

分支,我們有:

$ git diff ForkPoint..branch:HEAD 
@@@[email protected]@@ 
new line 'a' 
removed line 'b' 
edited line 'c' 

現在我想看看,除了那些在master已經在分支上的所有變化。

$ git checkout master; git diff branch:HEAD 
@@@[email protected]@@ 
edited line 'd' 
edited line 'c' 

然而,我不希望看到ForkPoint..master:HEAD

預期

@@@[email protected]@@ 
edited line 'c' 

master其他的變化,我需要像

git cherry -v branch:HEAD 

但是這個檢查整個提交。我需要線條。

+0

什麼是「HEAD」應該在你的例子?它不能成爲同一個名字的象徵性參考......這是一條路嗎?請澄清。我認爲你的問題會受益於[MCVE](http://stackoverflow.com/help/mcve)。然後Stack-Overflow用戶會確切地知道你的意思。 – Jubobs

回答

0

的Git可能無法爲您提供一個選項來做到這一點,但你可能會做到這一點:

git diff master..mybranch | grep -v "^-[^-]" 

這將刪除所有線路始發於一個「 - 」,即,所存在的所有行我master但不在mybranch

您可能需要採用這取決於您的環境。