我运行'git branch -r'然后得到
产地/ BRANCH1
产地/ BRANCH2
在手册页中,-r选项将"列出或删除(如果与-d一起使用)远程跟踪分支".因此origin/branch1和origin/branch2被称为远程跟踪分支.但是,您无法直接提交到远程跟踪分支(将创建匿名分支).远程跟踪分支在运行'git fetch'时只跟踪远程分支.
这里的语义对我来说有点模糊.如果我那么
git checkout -b branch1 origin/branch1
我得到以下输出:"Branch branch1设置为从原点跟踪远程分支branch1.切换到新分支'branch1'"
这是我的问题,尽可能详细地说明是什么让我感到困惑......由于branch1设置为从原点跟踪远程分支branch1,'branch1'因此被视为远程跟踪分支?如果是这样,那么这与'origin/branch1'在运行'git branch -r'时已被列为远程跟踪分支这一事实相冲突吗?据我所知,存在本地(主题)分支或远程跟踪分支.当运行'git checkout -b branch1 origin/branch1'时,我是通过提取方式创建一个跟踪远程分支的本地(主题)分支(我可以在其上添加提交)吗?运行'git branch'现在给出:'*branch1',并且运行'git branch -r'仍然给出'origin/branch1'和'origin/branch2'.我创建了branch1来添加提交和跟踪origin/branch1.哪个被认为是远程跟踪分支,'branch1'来自'git branch'的输出,'origin/branch1'来自'git branch -r'的输出?