2012-01-24 85 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