12
正当左小白要去大宝贱走一波,看到部门群来了条重要通知:“公司方针改变,xx 项目将于 6 月中旬上线,为了按时上线,五一全员上班,无特殊事宜,不准请假。”
WTF?
左小白看了时间,将近 12 点了,还要不要大宝贱,纠结了一会,还是算了吧,明天去上班。
洗澡,随着身体的一阵颤抖,什么大宝贱已经变的索然无味。
13
跟往常一样,又是一个多小时的地铁,到了公司,拿起键盘就是干,一顿复制粘贴,这一天完成了商品列表功能,商品详情,左小白感觉已经适应了新公司的节奏了。
临近下班,项目经理跟大家说:大家下班前,要把今天写的代码都提交下,明天起,我们要拉个 dev 分支,在这个分支上开发。
分支?什么是分支,左小白心里犯嘀咕,不管了,先下班,明天再说吧。
14
又是新的一天,左小白刚坐下工位,组长过来了,问:大家今天要拉 dev 分支,有什么疑问吗?左小白很明显看出大家对分支是有疑问了,于是主动发问:组长,什么是分支?为什么要分支?
组长回答:我们现在用的主分支,就是 master 分支,之前一直在主分支开发没有什么影响,现在项目马上进入收尾阶段,需要有个稳定的分支可以随时发版本,也就是 master 分支,dev 分支我们会一直在上面开发,明白吗?
呃……明白!其实左小白并不明白,怎么创建分支?又怎么把 dev 分支代码合入 master 分支,小白没敢继续问。
组长继续说:应该好多人对分支还没有概念,大家来小白位置,我演示一遍给大家看看。
15
因为远程已经拉出来 dev 分支,大家要做的就是本地创建一个分支 dev,和远程 dev 分支关联起来就可以了,首先我们来看下小白本地有哪些分支:
git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
这里星号意思当前指向哪个分支,那接下来我们创建 dev 分支和远程 dev 关联起来:
git checkout -b dev origin/dev
Branch 'dev' set up to track remote branch 'dev' from 'origin'.
Switched to a new branch 'dev'
这样我们就创建了 dev 分支,可以用命令git branch -vv
查看分支关联关系:
git branch -vv
* dev 85be09a [origin/dev] Login
master 85be09a [origin/master] Login
接下来,提交代码就跟之前一样提交,master 现在已经是稳定的版本,如果需要将 dev 分支代码合入 master 上,我会通知你们的,好了,应该没有什么不明白的吧,大家干活。
经过组长这么一讲解,左小白又愉快敲起了代码。
又是一天,累但很充实的一天。
16
组长:小白,今天你完成的 epub 阅读功能要合入主分支。
左小白:好的。
左小白还不知道要怎么合并分支,搜了搜,先要切回主分支,然后使用命令git merge
进行合并:
$ git merge dev
Auto-merging config.xml
CONFLICT (content): Merge conflict in config.xml
Automatic merge failed; fix conflicts and then commit the result.
这是成功了吗?等等,好像有文件冲突了啊。