Jim*_*Jim 12 git version-control git-remote git-branch
来自Pro Git:
如果您愿意,可以设置其他跟踪分支 - 不跟踪原点分支并且不跟踪主分支的分支.简单的例子是你刚才看到的例子,运行git checkout -b [branch] [remotename]/[branch]
$ git checkout --track origin/serverfix分支serverfix设置为跟踪远程分支refs/remotes/origin/serverfix.切换到新分支"serverfix"
$ git checkout -b sf origin/serverfix Branch sf设置为跟踪远程分支refs/remotes/origin/serverfix.切换到新的分支"sf"
我的理解是,这提供了一种创建本地分支和上游分支的方法.
但当我这样做时:
git checkout -b iss53 origin/iss53 我明白了:
fatal: Cannot update paths and switch to branch 'iss53' at the same time.
当我这样做时:
git checkout --track origin/iss53 我得到:
致命:无法同时更新路径并切换到分支'iss53'.您是否打算签出无法解决为提交的'origin/iss53'?
为什么?
Cannot update paths and switch to branch
Run Code Online (Sandbox Code Playgroud)
正如我在" 使用git获取新的上游分支 "中提到的,您可以尝试:
# let's create a new local branch first
git checkout -b iss53
# then reset its starting point
git reset --hard origin/iss53
Run Code Online (Sandbox Code Playgroud)
确保远程跟踪分支 origin/iss53确实存在(在a之后git fetch origin)
origin/iss53装置有一个iss53在上游通过引用的远程回购origin.
如果没有这样的分支,那么你只创建一个本地分支iss53,并像这样推送它:
git push -u origin iss53
Run Code Online (Sandbox Code Playgroud)
这将建立本地分支机构之间的关联iss53和远程跟踪分支origin/iss53(跟踪新创建的分支iss53上origin,通过推动创建).
请参阅" 为什么我需要明确推送新分支? "以获取有关该初始推送的更多信息.