使用GIT删除远程分支并重置本地存储以匹配远程

时间:2014-01-23 01:36:04

标签: git

当我运行git branch -a时,我明白了:

 master
  origin
  remote
  upstream
  web_search
  remotes/origin/HEAD -> origin/master
  remotes/origin/ba
  remotes/origin/insur
  remotes/origin/master
  remotes/origin/mv
  remotes/origin/redesign
  remotes/origin/soap
  remotes/origin/web_search
  remotes/upstream/ba
  remotes/upstream/face
  remotes/upstream/facebook
  remotes/upstream/feature/web
  remotes/upstream/insurance
  remotes/upstream/master
  remotes/upstream/mv
  remotes/upstream/redesign
  remotes/upstream/refactor
  remotes/upstream/soap

remotes/origin是一个分叉的存储库,我想停止跟踪。我想重置所有内容,以便我只看到remote/upstream的跟踪分支。我甚至想摆脱分支前面的remotes/upstream片段,所以我只看到masterbranch2等。

如何重置所有内容以仅跟踪上游分支,并让它们成为“默认”?

1 个答案:

答案 0 :(得分:1)

首先,您不需要将它们称为remote/upstream - 您可以在git上的任何地方命名upstream,您就可以了。

这些在git术语中称为 remotes ,代表您自己的repo知道的存储库。如果您想停止跟踪origin远程用户,可以运行git remote rm origin。有关遥控器的更多信息,请参阅git help remote

masterupstream/master之间的区别是非常必要的,因为git必须知道您是指您自己的本地分支(master),还是您从中获取的分支副本您的遥控器(upstream/master)。您希望在其中一个遥控器分支上工作时可以执行的操作是git checkout remote/branch(如git checkout upstream/soap中所述),git将创建一个名为远程分支的新本地分支({{1}在这种情况下)并将其设置为跟踪远程的。通过跟踪,您只需运行soap并让git知道必须将git push分支更新推送到soap远程存储库中的soap分支。