Are there different meanings to the concept of 'tracking' in git?
我运行"git branch-r"并获取
origin/branch1
origin/branch2
号
在手册页中,-r选项将"列出或删除(如果与-d一起使用)远程跟踪分支"。所以origin/branch1和origin/branch2被称为远程跟踪分支。但是,不能直接提交到远程跟踪分支(将创建匿名分支)。远程跟踪分支在运行"git fetch"时只跟踪远程分支。
这里的语义对我来说有点模糊。如果我那么
git checkout -b branch1 origin/branch1
号
我得到以下输出:"分支分支1设置为从原点跟踪远程分支分支1。切换到新的分支'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来添加提交并跟踪源/分支1。哪个被认为是"git branch"输出的远程跟踪分支"branch1",或"git branch-r"输出的"origin/branch1"?
这是一个很好的问题,关于一个特别恼人的git术语,尽管这个项目似乎正在慢慢修复。
基本上,"track"在(a)"远程跟踪分支"和(b)"
所以,这些跟踪/跟踪的感觉是完全不同的,不幸的是,这是一个常见的困惑来源。
然而,第二种感觉似乎正被慢慢地弃用,例如,
因此,要直接回答您的问题:
By virtue of having branch1 set up to track remote branch branch1 from origin, is 'branch1' thus considered a remote-tracking branch?
号
不,
When running 'git checkout -b branch1 origin/branch1', am I creating a local (topic) branch (onto which I can add commits) that is tracking a remote branch by way of fetches?
号
嗯,有点-它是跟踪(sense 2)一个远程跟踪分支,后者通过获取从远程存储库中的一个分支进行更新。(就我个人而言,我尽量避免使用"远程分支"这个词,而不是"远程存储库中的分支",以防人们认为你是远程跟踪分支。)
Running 'git branch' now gives: '* branch1', and running 'git branch -r' still gives 'origin/branch1' and 'origin/branch2'. I created branch1 to add commits to and to track origin/branch1. Which is considered the remote-tracking branch, 'branch1' from the output of 'git branch', or 'origin/branch1' from the output of 'git branch -r'?
号
远程跟踪分支机构是
1当您成功地将