详解git合并冲突解决方法
1、gitmerge冲突了,根据提示找到冲突的文件,解决冲突
如果文件有冲突,那么会有类似的标记
2、修改完之后,执行gitadd冲突文件名
3、gitcommit
注意:没有-m选项
进去类似于vim的操作界面,把conflict相关的行删除掉
4、直接push就可以了,因为刚刚已经执行过相关merge操作了
相关的操作如下
冲突产生
[root@MonitorDemo]#gitbranch#当前在master分支下 *master psr/psr-01 psr/psr-02 [root@MonitorDemo]#gitcheckoutpsr/psr-02#切换到psr/psr-02分支下 Switchedtobranch'psr/psr-02' [root@MonitorDemo]#gitbranch master psr/psr-01 *psr/psr-02 [root@MonitorDemo]#ls LICENSEnew_remote_branch.txtpsr_psr-02.txtREADME.md [root@MonitorDemo]#vimpsr_psr-02.txt#修改psr/psr-02分支上的文件 [root@MonitorDemo]#gitaddpsr_psr-02.txt [root@MonitorDemo]#gitcommit-m'psr_psr-02.txthaschangedonpsr/psr-02branch'#提交到暂存区 [psr/psr-0262ca72c]psr_psr-02.txthaschangedonpsr/psr-02branch 1fileschanged,6insertions(+),0deletions(-) [root@MonitorDemo]#gitcheckoutmaster#切换到master分支下 Switchedtobranch'master' [root@MonitorDemo]#vimpsr_psr-02.txt#在master分支下也对psr_psr-02.txt进行修改 [root@MonitorDemo]#gitaddpsr_psr-02.txt [root@MonitorDemo]#gitcommit-m'changedthisfileonmasterbranch' [master282fbeb]changedthisfileonmasterbranch 1fileschanged,2insertions(+),0deletions(-) [root@MonitorDemo]#gitmergepsr/psr-02#把psr/psr-02分支合并到当前分支,这时提示冲突了 Auto-mergingpsr_psr-02.txt CONFLICT(content):Mergeconflictinpsr_psr-02.txt Automaticmergefailed;fixconflictsandthencommittheresult.
冲突解决过程
冲突文件的格式基本如下
<<<<<<<到=======是在当前分支合并之前的文件内容
=======到>>>>>>>psr/psr-02是在其它分支下修改的内容
需要在这个两个版本中选择一个,然后把标记符号也要一起删除
<<<<<<
addsomelinesonmasterbranch addsomelinesonpsr/psr-01branch 2016年12月13日14:43:34changedafterpsr/psr-02 ======= 1 2 3 4 5 >>>>>>>psr/psr-02
冲突文件
vimpsr_psr-02.txt <<<<<<>>>>>>psr/psr-02
修改冲突文件
#vimpsr_psr-02.txt README.md I'aminnewbranchpsr/psr-02basedonpsr/psr-01 addsomelinesonmasterbranch addsomelinesonpsr/psr-01branch 2016年12月13日14:43:34changedafterpsr/psr-02
添加冲突的文件,然后就可以直接push了
Mergebranch'psr/psr-02' Conflicts: psr_psr-02.txt # #ItlookslikeyoumaybecommittingaMERGE. #Ifthisisnotcorrect,pleaseremovethefile #.git/MERGE_HEAD #andtryagain. # #Pleaseenterthecommitmessageforyourchanges.Linesstarting #with'#'willbeignored,andanemptymessageabortsthecommit. #Onbranchmaster #Yourbranchisaheadof'origin/master'by1commit. #
需要删掉下面这两行
Conflicts: psr_psr-02.txt
执行gitpush操作
gitpushoriginmaster
到此这篇关于详解git合并冲突解决方法的文章就介绍到这了,更多相关git合并冲突内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!