2016-06-07 150 views
1

我們如何知道本地主服務器是否位於遠程主服務器的後端,並且不需要拉出或取出。GIT版本庫中的GIT分支版本

我的意思是拉動或讀取前,我想確定我的本地主的背後是回購主,這樣我可以進行讀取/變基/合併,如果它的背後

回答

1

沒有辦法,我知道的。如果你抓取,你不必立即重新綁定,然後「git status」會告訴你,如果你在前面或後面(或兩者)。你必須做某種「遠程查詢」才能獲得你想要的信息 - 而獲取就是那個查詢。

1

git fetch就是爲了這個特別的目的。它會更新跟蹤分支,以便您知道分支與遠程分支相比有多遠/多遠。它不會將遠程中的更改合併/應用到您的本地分支。 git pull這樣做。

這是git pullgit fetch

+0

發生了什麼「沒有拉或取」? 「拉或取之前」? – VonC

+0

我想問這個問題的人對於'git fetch'和'git pull'的工作感到困惑。所以,我只是想澄清一下,因爲'git fetch'可以解決問題。 –

+0

不,這個人是*不*迷茫:問題是:「*沒有*提取」。你沒有回答這個問題。 – VonC

1

你仍然需要聯繫遠程回購以某種方式之間的區別。

,可以給你一個提示的唯一命令是git ls-remote

git ls-remote origin 

更確切地說,比較:

git ls-remote origin -h refs/heads/master 
git rev-list --max-count=1 origin/master 

如果SHA1返回主分支從你在本地的一個不同,你的分支可能會落後(或者如果那個SHA1可以從你的本地分支HEAD訪問)

至少與git ls-remote ,你不會獲取所有的回購。

+0

您可以在http://stackoverflow.com/a/33419013/6309中查看腳本示例 – VonC