在多人同时编写一个项目时,经常会遇到两人同时操作一个文件导致提交的时候发生冲突。
问题解决的关键一是:尽量避免同一个文件被不同的人操作,二是:将冲突代码进行解冲突后重新提交。出现冲突后用命令行的方式不太好看,借助ide的插件可以更清楚的看到冲突的代码。
首先明确冲突出现的时机有:
- 不同用户操作同一分支上同一个代码,先后提交,后提交的用户出现冲突;
- 不同用户操作不同分支上同一个代码,分支合并到主干上,后合并的用户出现冲突;
主要介绍intellij Idea解冲突的方法。
- IntelliJ Idea
第一种情况出现冲突提示:
点击push的时候,页面中会出现本地提交几次:
点击merge
“Accept Yours”是接受你提交的代码,抹除其他用户提交的有冲突的代码;
“Accept Theirs”是接受接受其他用户提交的代码,抹除你提交的有冲突的代码;
详细信息,点击“Merge”查看。
出现的图中左边是你自己本地做的修改,中间是结果代码,右边是其他用户提交的代码,可以选择”Accept Left”或者“Accept Right”,是单独接受某一方的代码,如果两者都不能丢失,需要根据实际情况在中间页面上修改成最终的代码,点击Apply。
要是上一个页面不小心关闭或者点击了Abort,在有冲突的文件中右键git-resolve conflicts,就出现了冲突解决的画图 。
再次按正常流程提交即可。提交时信息会自动变成merge的信息。