当我运行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
片段,所以我只看到master
,branch2
等。
如何重置所有内容以仅跟踪上游分支,并让它们成为“默认”?
答案 0 :(得分:1)
首先,您不需要将它们称为remote/upstream
- 您可以在git上的任何地方命名upstream
,您就可以了。
这些在git术语中称为 remotes ,代表您自己的repo知道的存储库。如果您想停止跟踪origin
远程用户,可以运行git remote rm origin
。有关遥控器的更多信息,请参阅git help remote
。
master
和upstream/master
之间的区别是非常必要的,因为git必须知道您是指您自己的本地分支(master
),还是您从中获取的分支副本您的遥控器(upstream/master
)。您希望在其中一个遥控器分支上工作时可以执行的操作是git checkout remote/branch
(如git checkout upstream/soap
中所述),git将创建一个名为远程分支的新本地分支({{1}在这种情况下)并将其设置为跟踪远程的。通过跟踪,您只需运行soap
并让git知道必须将git push
分支更新推送到soap
远程存储库中的soap
分支。