Git-使用本地分支与远端分支达成协同作业

延续Git-上传档案至远端储存库

模拟一个协同作业的环境

将GitHub的专案,clone至指定资料夹(ngapp2)。
http://img2.58codes.com/2024/20112573akheCXSgZd.png

ngapp代表同事A,ngapp2代表同事B。

ngapp的分支。
http://img2.58codes.com/2024/201125735vGmjJV94U.png

ngapp2的分支。
http://img2.58codes.com/2024/20112573dzIjw4JiOR.png
remotes/origin/HEAD -> origin/master分支,可以不用理它。

会发现,ngapp2比ngapp少了2条本地分支(br3、feature)。

这种状况不用太在意,我们所要做的是,确认要在哪条分支开发。

假设我们想要在ngapp2开发一个新功能,并且从feature分支开发。

先切换至feature分支。
http://img2.58codes.com/2024/20112573KZnEzInAp2.png
这时,有个疑问,我们的本地端并没有feature分支。
那可以切换至remotes/origin/feature分支吗?
当然不行,原因Git-本地分支、远端分支、远端追蹤分支说过了。

直接切换至feature分支,看看会有什么结果。
http://img2.58codes.com/2024/20112573ZrbUPlAqsr.png
由于git找不到本地feature分支,它会找到remotes/origin/feature与feature分支同名的远端追蹤分支。
建立feature分支,并将remotes/origin/feature设为feature分支的远端追蹤分支。

但如果切换至feature1分支,会发生错误。
http://img2.58codes.com/2024/20112573WaGtHtyJe5.png
因为git找不到名为feature1的远端追蹤分支。

建立br1分支,新增档案,再commit。
此时,br1是最新版的分支。
http://img2.58codes.com/2024/20112573Q6kGpCdGtP.png

取得他人的分支

但目前这个分支只存在于同事B的本地端,同事A并没有这个分支。

那要如何让同事A能够取得br1分支呢?

先将br1 push至远端储存库。
http://img2.58codes.com/2024/20112573hRCWX2ZGIR.png

远端储存库确实有br1分支。
http://img2.58codes.com/2024/20112573SwDmStZC0k.png

在ngapp确认分支情况。
http://img2.58codes.com/2024/20112573I8s2QvmV2f.png
ngapp没有br1的远端追蹤分支,那要如何取得呢?

使用fetch取得更新。
http://img2.58codes.com/2024/20112573ON9GVyBcVI.png
讯息显示,取得br1的远端追蹤分支。

再看一次分支情况。
http://img2.58codes.com/2024/20112573kXh96OS2Y5.png
OK,已经取得br1的远端追蹤分支。

跟刚刚的方式一样,取得br1分支。
http://img2.58codes.com/2024/20112573NtwHFCX5KY.png

执行git log。
http://img2.58codes.com/2024/20112573uz9Xofrj2S.png

ngapp2再执行一次git log。
http://img2.58codes.com/2024/20112573gNDZQa8IPg.png
这次,双方版控情况,完全相同。

协同开发步骤

先建立新分支,开发新功能。push新分支。让他人透过fetch取得远端追蹤分支。在电脑建立远端追蹤分支。藉由远端追蹤分支建本地分支。继续在新建立的分支开发或合併分支。

本文为观看网路教学的学习笔记。


关于作者: 网站小编

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

热门文章