2017-04-20 23 views
0

這裏我GIT本地資源庫從文件遠處的倉庫克隆在時間T:哪一個等同於SVN同步的git命令?

A.txt 
B.txt 
C.txt 

在時間T + 1,在遠程倉庫(被跟蹤的一個)的文件:

*A.txt* 
C.txt 
D.txt 

我們看到,A.txt已被修改(我把*),B.txt已被刪除,D.txt被添加。

問:什麼是輸出git的命令(一行一個文件)在我的當地郵局:

* A.txt (modified) 
- B.txt (deletion) 
+ D.txt (add) 

總之,我想輸出我的本地回購和遠程跟蹤一個之間的差異。一行文件(出於可讀性原因)

非常感謝。

回答

2

比較本地到遠程,你首先要取。通常這只是

git fetch 

此時git status會給你一個非常粗略的總結如何遙遙領先/後面你,但要真正知道發生了什麼改變了你會做這樣的事情

git diff --stat origin/master master 

(假設遙控器在本地回購中設置爲origin,這是典型的/默認情況。)

+0

好的,謝謝。通常與GIT合作的方式是什麼?我經常與SVN進行同步,以按文件或文件組更新和解決衝突文件。 –

+0

是的,這是使用git的常用方法。 (如果你有一個遠程倉庫,這是使用git的唯一方法;如果你與其他開發人員協作 - 這是git設計中的一個關鍵考慮因素 - 那麼你需要一個遠程倉庫......)不總是知道遙控器的狀態似乎很奇怪,但實際上git只是給你*選項*以在沒有遠程通信的情況下操作(出於各種原因;大多數情況下它幫助git可笑得快)。如果您需要來自遠程的持續更新,您可以隨時獲取;但你可能會發現你不需要。 –

+0

好的。事實上,我覺得這個程序有點無聊或挑剔。我是否應該只在有價值時才這樣做(畢竟這是豐富的輸出)?例如,'git merge'或'git rebase'在99%的情況下自動工作(就像SVN同步工具菜單一樣),否則它會提示手動解決git無法自動解決的衝突。我對嗎 ? –

-1

您可以使用命令git status

+0

就像那樣簡單。我正在尋找git log或git diff。謝謝。 –

+0

@FrançoisF。 - 'git status'不會提供你所要求的細節,如果你還沒有首先完成'git fetch',它就不會告訴你任何東西。所以實際上不那麼簡單。 –

+0

好吧,那麼它會在這個用例中輸出什麼(與遠程回購比較)? –