您的位置:首页 > 其它

Git 自学笔记 egit (分支管理 下)

2016-10-09 19:34 260 查看
在git的分支merge中,不可能没有代码的冲突问题,特别在跟别人分工合作时。那该怎么解决?

1.新建一个conflict分支,在dev方法下添加一句

System.out.println(“Creating a new branch is quick AND simple.”);

,提交。



2.checkout到’master’分支,同样在下面加一句

System.out.println(“Creating a new branch is quick & simple.”);

。提交。



3。在git repositories中,选中master点右键merge合并‘conflict’分支



4。发现’master’分支下的demo.java文件出现

<<<<<<< HEAD
System.out.println("Creating a new branch is quick & simple.");
=======
System.out.println("Creating a new branch is quick AND simple.");
>>>>>>> refs/heads/conflict


Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,

而且java文件带有冲突的红色标记:



然后我们决定留下来的内容,修改成

System.out.println(“Creating a new branch is quick and simple.”);

,其余的就全部删掉。

5.右键demo.java文件-》team-》add to index,重新加入暂存区,告诉git你已经解决了冲突。

这时该文件的红色标记就消失了,最后重新commit该文件,冲突解决!

廖雪峰老师 对分支在开发中的使用有一下建议:

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

最后分支也可以随时推送到远程github:

master分支是主分支,因此要时刻与远程同步;

dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;

feature分支(指的是新开发的功能)是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git branch