2011-10-29 93 views

回答

46

嘗試git fetch --dry-run 手冊(git help fetch)說:

--dry-run 
Show what would be done, without making any changes. 
+2

謝謝!雖然很難從輸出中瞭解哪些文件被添加/修改/刪除。 –

+0

您可以查看更新的標籤以及各個分支的start..end提交範圍。如果這還不夠,那麼做一個適當的提取(不拉),這將給你一個適當的,單獨的,本地的遠程副本,而不會影響你自己的分支工作。拉會試圖合併這兩個,這不是你想要的。數據傳輸是相同的,不管你是否幹過。 –

0

這是不可能的。如何知道存儲庫是否是「最新的」,而無需去遠程存儲庫查看「最新」甚至意味着什麼?

+2

請確認!你只是回答你的想法!你應該更小心,因爲新手會跌倒! –

+3

@AmanuelNega:這只是基本的邏輯。如果你想知道你的本地回購是否與遠程回購處於同一狀態,你需要知道遠程回購的狀態。期。如果您不知道遠程回購的狀態,則不可能知道本地回購是否處於相同狀態。請注意,最高的投票和接受的答案使用'git pull',OP明確禁止他的問題。 –

+1

被通知! 'git status -uno'可以工作,也可以使用'git show-branch * master'查看所有主分支的狀態!你還在說這是不可能的嗎?只要你有權訪問遠程,你就可以看到任何分支的狀態! –

5

不是真的 - 但我不知道如何git fetch會受到傷害,因爲它不會改變您的任何當地分支機構。

2

必須運行git fetch之前,您可以在遠程服務器上對文件進行比較的本地倉庫。

該命令只會更新您的遠程跟蹤分支,並且不會影響您的工作樹,除非您致電git mergegit pull

要查看您的本地分支,遠程追蹤分支之間的差異,一旦你取你可以使用git diff or git cherry as explained here.

5

可以使用git status -uno來檢查,如果你的本地分支上最新與原點一個。

+3

它只給出本地狀態,不檢查遠程分支。 –

2

另一種方法是使用 git show-branch remote/branch使用它作爲一個比較,你可以看到git show-branch *branch看到所有遙控器的分支,以及你的資料庫查看遠程分支的地位!看看這個答案更https://stackoverflow.com/a/3278427/2711378

1

你需要發出兩個命令:

  1. 混帳取起源
  2. git的狀態
0

使用

git pull 

如果你的分支是最新的,您將收到以下消息:

「已經是最新的」。

2
git remote show origin 

結果:

HEAD branch: master 
    Remote branch: 
    master tracked 
    Local branch configured for 'git pull': 
    master merges with remote master 
    Local ref configured for 'git push': 
    master pushes to master (local out of date) <------- 
相關問題