Fel*_*lix 2 git git-remote git-branch
这是我的场景(这是一个非常简单的场景):我在本地创建了一个分支,没有使用--track.我做了一些提交并按如下方式推送:
git push origin test
Run Code Online (Sandbox Code Playgroud)
但是现在我不想origin test每次推动这个分支都要打字,所以我想让它跟踪origin/test(或者是相反的方式?).
我怎样才能做到这一点?我试过了:
git branch --set-upstream origin/test
Run Code Online (Sandbox Code Playgroud)
它不起作用.当我试图推动它说"一切都是最新的",它似乎创建了一个名为"origin/test"的实际分支,这不是我想要的.
更新:这里是.git/config(运行后--set-upstream)的内容:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@***.unfuddle.***/***.git
fetch = +refs/heads/*:refs/remotes/unfuddle/*
push = refs/heads/master:refs/heads/master
[gui]
wmstate = normal
geometry = 1098x644+298+187 207 207
[branch "test"]
remote = origin
merge = refs/heads/test
Run Code Online (Sandbox Code Playgroud)
你打电话时忘了指定本地分支 git branch --set-uptstream
git branch --set-upstream test origin/test
Run Code Online (Sandbox Code Playgroud)
编辑:好的,也许你没有忘记它(因为最后一个参数可以省略),但是你想设置本地分支来跟踪远程的(manpage git-branch),而你做了相反的事情(假设你目前在分公司test)
git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
Run Code Online (Sandbox Code Playgroud)
您指定该origin/test轨道test.