[英]How do I undo tracking a remote branch in git?
我不小心從跟蹤原點大師那里意外地取消了我的主分支。 以前我可以運行git pull
和git push
,它會知道我的意思是git push origin master
但現在它沒有,我認為它跟蹤不同的分支,因為git push origin master
工作正常(一切都是最新的)和git push
告訴我它不能快進變化。
這是我的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
(在master上)。
任何人都知道發生了什么,並能夠提供幫助嗎? 我只想回到git clone
創建的默認遠程跟蹤設置。
您需要的所有Git配置(執行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
從master,將相當於git push origin master
remotes/origin/HEAD -> origin/master
部分只是說遠程原點的HEAD是主分支(原點)並且很好。
我已經發生了幾次這種情況 - 雖然我不確定確切的原因,但我不相信這是因為你犯了一個錯誤。 相反,它只是git pull是最近一個遠程分支的快捷方式 ,它忘記了最新的分支是什么。
執行git pull origin master
通常會更新設置並重置所有內容。
我想你可以編輯.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
您可以使用
git branch --set-upstream my_branch origin / my_branch
另外
git push -u origin my_branch
請參閱Git:為什么我需要一直進行--set-upstream
? 了解更多細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.