Git-本地分支、远端分支、远端追蹤分支

本地分支:
位于本地端的分支。
http://img2.58codes.com/2024/20112573U1ihAkzWho.png

远端分支:
位于远端储存库的分支。
这是我们之前push的远端储存库,上面的分支就是远端分支。
http://img2.58codes.com/2024/20112573Jum1aEP8wA.png

远端追蹤分支:
设置于本地端,让本地分支与远端分支产生连结的分支。
换句话说,它是本地分支与远端分支的桥樑。
http://img2.58codes.com/2024/201125736e2H0ffgAd.png

尝试切换至远端追蹤分支。
http://img2.58codes.com/2024/20112573avy5TA4Q5v.png
会收到一长串的警告讯息。
其中一段告知,你目前正处于detached HEAD的状态,这是一个不正常的情况。
注意,远端追蹤分支不是用来开发的,它是用来追蹤的。

请不要切换至远端追蹤分支,一律切换至本地分支。

远端追蹤分支的意义

目前GitHub的feature分支有18个commit,我们打算在本地端增加一个commit,将它push到GitHub。
http://img2.58codes.com/2024/20112573y8PhAI2O2t.png

push完成,目前有19个commit。
http://img2.58codes.com/2024/20112573EniLEtNOuw.png

push的过程是这样的:
当feature分支增加一个commit,执行push后,git会寻找feature分支所对应到的远端追蹤分支,也就是remotes/origin/feature,这个路径的来源,等下会做说明。
找到后,将commit上传至远端追蹤分支所指向的远端储存库分支feature。

远端追蹤分支设定档

设定档位于.git资料夹里面的config。
http://img2.58codes.com/2024/20112573yjBGCTuklF.png

master分支的设定。

http://img2.58codes.com/2024/20112573eWQIC6JFS6.png

remote表示这个分支对应到的远端位置。就是origin。merge表示合併会使用的本地分支。位于refs/heads/master。

origin的设定。

http://img2.58codes.com/2024/20112573PF3iopSubO.png

url表示origin所指向的位置。
之前执行指令「git remote add origin https: //github.com/s164975/ngapp.git」时设定的。fetch表示本地分支与远端追蹤分支的对应。
星号(*),表示本地分支与远端追蹤分支同名。

查看.git/refs/heads/资料夹。
http://img2.58codes.com/2024/20112573FnWmQzJF6O.png
有3个档案,所代表的正是本地端分支。

查看.git/refs/remotes/origin/资料夹
http://img2.58codes.com/2024/201125738onVmOWQDu.png
有2个档案,所代表的是远端追蹤分支。

所以,本地分支与远端追蹤分支的对应关係就是在fetch做定义的。
http://img2.58codes.com/2024/201125739jHICyswV6.png

一般来说,本地分支与远端追蹤分支的名称最好相同,避免搞混。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章