2012-01-24 83 views
4

我已经意外地从跟踪原点主控制器中取消了我的主分支,我想。它曾经是我可以运行git pullgit push,它会知道我的意思是git push origin master,但现在它不,我认为它跟踪不同的分支,因为git push origin master工作正常(一切都是最新的)和git push告诉我它可以'快速变化。如何撤消在git中跟踪远程分支?

这里是我的git branch -a是什么样子:

ianstormtaylor:nib Storm$ git branch -a 
* master 
    original 
    transforms 
    remotes/origin/HEAD -> origin/master 
    remotes/origin/master 
    remotes/origin/sizing 
    remotes/origin/transforms 

不知道这remotes/origin/HEAD -> origin/master是搞砸了的部分。

我认为这一切都是由git merge origin sizing致电时,我打算做git merge sizing(而在主)。

任何人都知道发生了什么,并能够提供帮助吗?我只想回到git clone创建的默认远程跟踪设置。

回答

3

所有你在你混帐配置(做git config -e编辑)需要的是以下几点:

[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = /Users/me/test.git 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 

如果它确实存在,git push从主,将相当于git push origin master

remotes/origin/HEAD -> origin/master部分只是说,HEAD远程起源的主分支(起源)并没有问题。

1

我已经有过这种事情发生过几次 - 虽然我不确定确切的原因,但我不相信这是你犯的一个错误。相反,它只是一个快捷键到最近的远程分支,它忘记了最近的分支是什么。

执行git pull origin master通常会更新设置并重置所有内容。

+0

不幸的是'git pull origin master'似乎没有被重置。 –

1

,我想你可以编辑的.git/config文件或使用

git config branch.master.remote origin 
git config branch.master.merge refs/heads/master 

设置的配置或者使用-t--tracking)选项

双方应导致部分创建主分支类似.git/config

[branch "master"] 
    remote = origin 
    merge = refs/heads/master