簡體   English   中英

如何在git中撤消跟蹤遠程分支?

[英]How do I undo tracking a remote branch in git?

我不小心從跟蹤原點大師那里意外地取消了我的主分支。 以前我可以運行git pullgit 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM