2013-02-03 44 views
6

我在github上有一個本地倉庫和一個遠程倉庫。出於商業原因,它們不同步。我在本地保存了大量的工作,現在我手動爲遠程地址添加了新的東西。沒有分支。git diff - 只顯示遠程的新功能

當我使用命令,

git diff --color master..origin/master 

我取得好成績,展示了改變....我已經添加到本地回購標有 - 號,並以紅色顯示;而遙控器上顯示的是綠色+符號。

有沒有辦法只顯示什麼是新的遠程而不是本地?也就是說,向我展示遙控器上的任何新文件,並向我展示遙控器上文件中的任何新的或修改過的行(向我展示所有綠色+的)

謝謝。

+0

是化繁爲簡: 'git的差異--color master..origin /主| grep +' –

+0

感謝您的回答。如果跟蹤的某些文件的文本中有+,這不起作用。任何其他方式? P.S.我是git和終端的新手。 :-) – Darby

+1

'grep^+'然後呢? –

回答

1

可以與共同祖先差異:

git diff `git merge-base master origin/master` origin/master 

或與您以前獲取:

git diff origin/[email protected]{1} origin/master 
7

我相信你可以把兩個分支之間的3個點的命令,然後它只有在第二個什麼新的方面,即第一個,即

git diff master...feature 

看什麼是新的在功能和

git diff feature...master 

看到主人有什麼新的。在你的情況下,功能可以是origin/master,這應該很好。

+2

右:'git diff'的三個點,而'git log'的兩個點! http://stackoverflow.com/a/14426939/6309和http://stackoverflow.com/a/7256391/6309 – VonC

0

試試看git help rev-list。你可能尋找的選項--right-only,所以也許這得到你想要的東西:

git diff --color --right-only master..origin/master