我想设置我的本地主线分支来跟踪原点/主线,但使用了命令
git branch --set-upstream origin/mainline mainline
因为失误,
有了结果Branch origin/mainline set up to track local branch mainline
。
我该如何解决这个问题,以便本地主线跟踪远程主线?
似乎 git 创建了另一个本地分支 origin/mainline 并使其跟踪主线。我使用git config -e
然后设置remote=origin
为主线(原点已定义),然后git branch -d origin/mainline
删除本地分支。似乎已经解决了这个问题。
你有错误的参数顺序,你想要的是git branch --set-upstream mainline origin/mainline
.
看:
-t,--轨道
创建新分支时,设置配置以将起点分支标记为新分支的“上游”。这个配置会告诉 git 在 git status 和 git branch -v 中显示两个分支的关系。此外,当签出新分支时,它会指示不带参数的 git pull 从上游拉取。
当起点是远程跟踪分支时,此行为是默认行为。如果您希望 git checkout 和 git branch 始终表现得就像给出了 --no-track 一样,请将 branch.autosetupmerge 配置变量设置为 false。当起点是本地或远程跟踪分支时,如果您想要此行为,请将其设置为始终。
--set-upstream
如果指定的分支尚不存在或已给出--force,则行为与--track 完全相同。否则,在创建分支时设置类似 --track 的配置,除了分支指向的位置没有改变。
所以你所做的是创建一个名为origin/mainline
which tracking mainline
branch 的本地分支。
我遇到了类似的使用问题:
git branch -t origin/master
而不是git branch --set-upstream-to=origin/master
跟踪原点/主控。
更简单的解决方案是:我删除了首先创建的 ****local branch** Origin/master**。
然后做了:git branch --set-upstream-to=origin/master
成功,因为现在它可以检测到实际的来源/主人。