[英]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.