git在idea中的冲突解决(很是重要)

1.什么是冲突

  冲突是指当你在提交或者更新代码时被合并的文件与当前文件不一致。读起来有点绕,结合下面的案例理解。git

  从上面对冲突的定义来看,冲突时发生在同一个文件上的。程序员

2.生产上冲突的场景

  常见冲突的生产场景以下服务器

  1. 更新代码
  2. 提交代码
  3. 多个分支代码合并到一个分支时
  4. 多个分支向同一个远端分支推送代码时

  git的合并中产生冲突的具体状况:
  <1>两个开发者(分支中)修改了同一个文件(无论什么地方)
  <2>两个开发者(分支中)修改了同一个文件的名称
  注意:两个分支中分别修改了不一样文件中的部分,不会产生冲突,能够直接将两部分合并。app

  总结:上面各类状况的本质都是,当前文件与合并文件不一致,所以不论哪一种状况其解决冲突的方法是同样的ide

3.idea中解决冲突

  模拟场景:idea

  假设有另个开发人员开发同一个项目,而且编写同一个文件,工做流程以下:spa

  1.01号程序员先上传文件conflict.txt,并继续在conflict.txt上写代码;3d

  

  2.02号程序员更新项目代码,并在conflict.txt上写代码,写完后,在提交到远程服务端;blog

  

  3.当01号程序员把写完后,准备提交代码了,这时的正规操做手法,先更新在提交,可是在更新的时候必然会冲突,由于这时候更新的代码conflict.txt与本地仓库代码conflict.txt不一致开发

  

  提交前,我要更新,冲突了:

  

  解决方案以下:

  accept yours:表明以本身的为准;

  accept theris:表明以更新下来的文件为准;

  merge:表明手动合并

  通常解决冲突咱们都是选择merge

  

  将须要的内容点击:">>"既能够合并内容到result中,不须要的内容点击“x”便可,合并完成后点击apply便可。

  值得注意的是,最将全部的“x >>”符号都要处理完,不须要的点击“x”,须要的点击“>>”

  最后,不管是什么场景下产生的冲突解决方法是同样的。

4.关于冲突的我的心得

  多人协做开发的时候,若是出现了你没有改过的文件跟你冲突了,必定要去找到当事者,说清楚是如何冲突的;

  而后协商解决,千万不要擅自拉别的分支去试图解决冲突,或找文件覆盖,更或者以本身的文件为准.

  同时记住,解决了以后,要add 和 commit 最后push.为保证万无一失,最后在冲突都解决以后,重启项目;

  保证至少不会有当即奔溃的现象发生.而后才去提交,push.

  提交的时候,必定要保持清醒,先搞清楚本身要提交的文件之间的关系,而后再提交,这样才不会有文件缺失的问题,形成奔溃.

  若是任务比较多,又开了多个分支,分别进行开发,再次强调,必定要清楚本身在各个分支上作了什么,本身要提交的是什么.最好是能作个详细的笔记,没有把握宁愿不要去提交到生产服务器.

  提交代码的时候不要走神,由于这是一个神圣的时刻!

相关文章
相关标签/搜索