本地分支:
位于本地端的分支。
远端分支:
位于远端储存库的分支。
这是我们之前push的远端储存库,上面的分支就是远端分支。
远端追蹤分支:
设置于本地端,让本地分支与远端分支产生连结的分支。
换句话说,它是本地分支与远端分支的桥樑。
尝试切换至远端追蹤分支。
会收到一长串的警告讯息。
其中一段告知,你目前正处于detached HEAD的状态,这是一个不正常的情况。
注意,远端追蹤分支不是用来开发的,它是用来追蹤的。
请不要切换至远端追蹤分支,一律切换至本地分支。
远端追蹤分支的意义
目前GitHub的feature分支有18个commit,我们打算在本地端增加一个commit,将它push到GitHub。
push完成,目前有19个commit。
push的过程是这样的:
当feature分支增加一个commit,执行push后,git会寻找feature分支所对应到的远端追蹤分支,也就是remotes/origin/feature,这个路径的来源,等下会做说明。
找到后,将commit上传至远端追蹤分支所指向的远端储存库分支feature。
远端追蹤分支设定档
设定档位于.git资料夹里面的config。
master分支的设定。
origin的设定。
之前执行指令「git remote add origin https: //github.com/s164975/ngapp.git」时设定的。fetch表示本地分支与远端追蹤分支的对应。
星号(*),表示本地分支与远端追蹤分支同名。
查看.git/refs/heads/资料夹。
有3个档案,所代表的正是本地端分支。
查看.git/refs/remotes/origin/资料夹
有2个档案,所代表的是远端追蹤分支。
所以,本地分支与远端追蹤分支的对应关係就是在fetch做定义的。
一般来说,本地分支与远端追蹤分支的名称最好相同,避免搞混。