【发布时间】:2011-10-01 15:50:27
【问题描述】:
我运行 'git branch -r' 并得到
原点/分支1
原点/分支2
在手册页中,-r 选项将“列出或删除(如果与 -d 一起使用)远程跟踪分支”。所以 origin/branch1 和 origin/branch2 被称为远程跟踪分支。但是,您不能直接提交到远程跟踪分支(将创建一个匿名分支)。远程跟踪分支只是在运行 'git fetch' 时跟踪远程分支。
这里的语义对我来说有点模糊。如果我那么
git checkout -b branch1 origin/branch1
我得到以下输出: "分支 branch1 设置为从源跟踪远程分支 branch1。切换到新分支 'branch1'"
这是我的问题,尽可能详细地说明是什么让我感到困惑...... 由于将 branch1 设置为从源跟踪远程分支 branch1,因此是否将“branch1”视为远程跟踪分支?如果是这样,这是否与运行 'git branch -r' 时'origin/branch1' 已被列为远程跟踪分支的事实相冲突?据我了解,存在本地(主题)分支或远程跟踪分支。运行“git checkout -b branch1 origin/branch1”时,我是否创建了一个本地(主题)分支(我可以在其上添加提交),它通过获取来跟踪远程分支?运行“git branch”现在给出:“* branch1”,运行“git branch -r”仍然给出“origin/branch1”和“origin/branch2”。我创建了 branch1 来添加提交并跟踪 origin/branch1。哪个被认为是远程跟踪分支,'git branch' 的输出中的'branch1',或'git branch -r' 的输出中的'origin/branch1'?
【问题讨论】:
标签: git branch tracking git-checkout