Github专书程序员Git

团队合作-创建分支/解决冲突篇(八)

2017-03-21  本文已影响45人  尖塔上的猫

这个东西就像是SVN一样,团队操作。

这篇教程需要懂得SVN原理操作,才可以跟我继续学下去。

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。

如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

熟统来说:1个人拥有一个分支,而另外一个人也拥有一个分支,两个人工作流程不一样。

逻辑图

开始实战 首先,我们创建dev分支,然后切换到dev分支:

git checkout -b devA

-b是创建并且切换到devA分支上

git命令

开始工作

git记录文本

并且提交 和 切换到temp另外一个分支上去

git命令

这时候,你再打开 ’老司机的~~~' .txt文件,发现是这样子的。

git记录文本

此时应该此处比较好玩一点了。 因为你工作的分支是两码回事,他工作他的,我工作我的,互不相干!

合并分支

在上面我们说了,每个人工作他自己的事情,但是始终重要以一个文件来作为最终文件,而这个’最终文件’ 指的就是 合并分支 (主分支Master) , 最上面那张图可以作为代表作(我自己编写的~)

我们继续往下敲代码,你会发现,你依然存留在temp分支上(并且那个.txt文件我已经改过了),这下两个文件都有着不同的内容,来看如下:

git记录文本 git记录文本

这时候需要把两个分支合并到我们的Master分支

git merge dev

git命令行+记录文本

Oh MY GOD! 重点来了(虽说讲了这么多),这种原因就是冲突原因(Git无法执行“快速合并”)

git命令

赶紧解决方法:
看到最底下的no changes.....了么? 这就是git告诉我们要自己(A技术,B技术,C技术三个人自己去协商好,再合并修改再上传上去)

这种原因的存在一般是:合并别人的东西过来,肯定冲突阿(因为跟你本地不一样),这时候就得需要去把你的队友拉过来,一起合并,然后再提交你的东西,如下图:

git记录文本

以上你如果和猪队友结合之后,再重新指定分支到当前分支

git checkout master   

git merge temp

git命令

最终文件:

git记录文本
上一篇下一篇

猜你喜欢

热点阅读