我读了What is a tracking branch?,但不确定是主服务器还是原始服务器/主服务器正在跟踪分支,或者也许两者都在
master
是local分支。
origin/master
是远程跟踪分支。
A tracking分支是与另一个分支(通常是远程跟踪分支)关联的本地分支。当在跟踪分支上报告时,类似git status
的操作将指示该分支是在其跟踪的分支之前还是之后。
[克隆存储库时,通常将master
创建为与origin/master
关联的跟踪分支,该跟踪分支本身就是名为master
的远程存储库上的分支origin
。
在Git中,单词[[tracking严重超载-可能比单词branch差,或者可能差不多。
Git文档使用短语远程跟踪分支名称
来描述类似origin/master
的名称。请注意,此短语字面上需要全部四个词,但是由于人类是人类,因此他们倾向于将其缩短为远程跟踪分支。我喜欢将其缩写为远程跟踪名称,因为在一个非常重要的意义上它不是branch名称。1请注意,此短语使用单词tracking
作为形容词。2动词形式to track也与分支一起使用:我们说一个分支名称,例如[C0 ] [[tracks名称master
,如果名称origin/master
被设置为名称origin/master
的上游。每个(本地)分支名称可以有一个上游集。也就是说,分支要么具有上游(例如,master
通常具有master
作为其上游),要么根本没有上游。上游可以使一些Git操作更加方便或愉快。同时,origin/master
是分支名称。我们(和Git)有时会使用短语local branch来强调此分支名称特定于此特定Git存储库。但是,Git中的单词[[branch含糊不清:请参见master
最后,值得一提的是,track的动词形式与文件名一起使用。如果文件What exactly do we mean by "branch"?的名称位于Git的index中,则该文件为[[tracked。
索引本身实际上有三个名称:index
,这是我刚刚使用的名称,但是还有staging area,以及-如今很少使用的是-[[cache。您没有询问索引的问题,但是值得一提,因为任何索引为[[in的文件都是tracked file,这是track一词的另一种用法。1
特别地,由于README.md
不是分支名称,因此git checkout origin/master
使您进入分离的头模式。2从技术上讲,这是一个origin/master