2016-06-07 153 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