[英]git undo mistaken tracking branch
我想设置我的本地主线分支以跟踪起点/主线,但使用了以下命令
git branch --set-upstream origin/mainline mainline
错误,
结局Branch origin/mainline set up to track local branch mainline
。
如何解决此问题,以便本地主线跟踪远程主线?
git似乎创建了另一个本地分支起点/主线并使其跟踪主线。 我使用了git config -e
,然后为mainline设置了remote=origin
(已经定义了起点),然后使用git branch -d origin/mainline
删除了本地分支。 似乎已经解决了这个问题。
您使用了错误的参数顺序,您需要的是git branch --set-upstream mainline origin/mainline
。
看到:
-t,--track
创建新分支时,设置配置以将起点分支标记为新分支的“上游”。 此配置将告诉git显示处于git status和git branch -v的两个分支之间的关系。 此外,当签出新分支时,它指示不带参数的git pull从上游拉出。
当起点是远程跟踪分支时,此行为是默认行为。 如果希望git checkout和git branch始终表现为--no-track,则将branch.autosetupmerge配置变量设置为false。 如果您想在起始点是本地或远程跟踪分支时使用此行为,请将其设置为always。
--set-upstream
如果指定的分支尚不存在,或者已给出--force,则其行为与--track完全相同。 否则,创建分支时会像--track那样配置,除非分支指向的位置不会改变。
因此,您所做的就是创建一个名为origin/mainline
的本地分支,该分支跟踪mainline
分支。
我遇到了类似的使用问题:
git branch -t origin/master
而不是git branch --set-upstream-to=origin/master
来跟踪原点/母版。
较为简单的解决方案是:我删除了首先创建的****本地分支** Origin / master **。
然后这样做: git branch --set-upstream-to=origin/master
成功,因为现在它可以检测到实际的来源/主机。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.