延续Git-上传档案至远端储存库
模拟一个协同作业的环境
将GitHub的专案,clone至指定资料夹(ngapp2)。
ngapp代表同事A,ngapp2代表同事B。
ngapp的分支。
ngapp2的分支。
remotes/origin/HEAD -> origin/master分支,可以不用理它。
会发现,ngapp2比ngapp少了2条本地分支(br3、feature)。
这种状况不用太在意,我们所要做的是,确认要在哪条分支开发。
假设我们想要在ngapp2开发一个新功能,并且从feature分支开发。
先切换至feature分支。
这时,有个疑问,我们的本地端并没有feature分支。
那可以切换至remotes/origin/feature分支吗?
当然不行,原因Git-本地分支、远端分支、远端追蹤分支说过了。
直接切换至feature分支,看看会有什么结果。
由于git找不到本地feature分支,它会找到remotes/origin/feature与feature分支同名的远端追蹤分支。
建立feature分支,并将remotes/origin/feature设为feature分支的远端追蹤分支。
但如果切换至feature1分支,会发生错误。
因为git找不到名为feature1的远端追蹤分支。
建立br1分支,新增档案,再commit。
此时,br1是最新版的分支。
取得他人的分支
但目前这个分支只存在于同事B的本地端,同事A并没有这个分支。
那要如何让同事A能够取得br1分支呢?
先将br1 push至远端储存库。
远端储存库确实有br1分支。
在ngapp确认分支情况。
ngapp没有br1的远端追蹤分支,那要如何取得呢?
使用fetch取得更新。
讯息显示,取得br1的远端追蹤分支。
再看一次分支情况。
OK,已经取得br1的远端追蹤分支。
跟刚刚的方式一样,取得br1分支。
执行git log。
ngapp2再执行一次git log。
这次,双方版控情况,完全相同。
协同开发步骤
先建立新分支,开发新功能。push新分支。让他人透过fetch取得远端追蹤分支。在电脑建立远端追蹤分支。藉由远端追蹤分支建本地分支。继续在新建立的分支开发或合併分支。本文为观看网路教学的学习笔记。