IntelIJ使用GitHub多人协同开发冲突问题

通常,多人协作开发需要用GitHub来管理项目版本,至于如何使用Github创建仓库、push、pull项目在此不再赘述,这篇文章讲的是如何多人同时对一个项目进行开发。

第一、多人(用两个人模拟多人)对同一个项目的同一个文件进行修改该如何提交?

(1)GitHub master分支上有一个TestHelloWorld1的项目,开发程序猿1和2首先clone到本地,如下图所示:

IntelIJ使用GitHub多人协同开发冲突问题_第1张图片

(2)开发程序猿1对项目增添了一个System.out.println("HelloWorld2")的语句,同时,开发程序猿2也在其本地对项目增添了一个System.out.println("HelloWorld3")的语句;如下图所示:

IntelIJ使用GitHub多人协同开发冲突问题_第2张图片

(3)开发程序猿2向master分支提交了自己的修改;

IntelIJ使用GitHub多人协同开发冲突问题_第3张图片

(4)开发程序猿1此时也想提交其在本地修改的原始项目

IntelIJ使用GitHub多人协同开发冲突问题_第4张图片

(5)此时,因为开发程序猿2已经提交了其修改,GitHub中版本号+1,版本号要比开发程序猿1的版本号要高,因此提交被拒绝即rejected,并提示可以Merge

IntelIJ使用GitHub多人协同开发冲突问题_第5张图片

(6)点击Merge,进入下图所示页面;

IntelIJ使用GitHub多人协同开发冲突问题_第6张图片

(7)右侧accept yours和accept theirs可以选择保留你自己的修改还是其他人的修改,如果两个都想保留并合并,可以双击左侧文件名,中间是开发程序猿2提交修改之前的原始版本,右侧是开发程序猿2修改后的版本,左侧是你当前的版本即本地版本,可以通过红线标识的箭头选择是否保留,点击箭头即表示把修改加到原始文件中,也就是中间部分。

IntelIJ使用GitHub多人协同开发冲突问题_第7张图片

(8)我选择都保留

IntelIJ使用GitHub多人协同开发冲突问题_第8张图片

(9)点击右下角的Apply,即合并后将中间的最后结果push到master分支

IntelIJ使用GitHub多人协同开发冲突问题_第9张图片

IntelIJ使用GitHub多人协同开发冲突问题_第10张图片

以上就是多人协同开发对同一个文件修改后,push冲突怎么解决


第二、多人(用两个人模拟多人)对同一个项目的新增了不同文件该如何提交?

(1)开发程序猿2在原来项目中增加了一个文件Welcome1并提交,如下图所示:

IntelIJ使用GitHub多人协同开发冲突问题_第11张图片

(2)开发程序猿1在原来项目上,开发了新的功能,增加了一个文件Welcome2

IntelIJ使用GitHub多人协同开发冲突问题_第12张图片

(3)点击提交后,依旧出现冲突,这个时候点击Merge,不用其他选择什么操作,开发程序1的文件自动merge,并提交IntelIJ使用GitHub多人协同开发冲突问题_第13张图片

IntelIJ使用GitHub多人协同开发冲突问题_第14张图片

你可能感兴趣的:(GitHub,IDEA)