git merge dev 分支合并到master 如何解决冲突

 kg9854997 发布于 2022-10-25 08:19

使用git 分支合并到master主线,但因为同时修改一个文件,导致合并之后文件多出了很多<< 这样的!如何解决冲突?一定要手动编辑冲突文件,去掉那些 << >>>DEV再提交吗?

cd ~
mkdir demo
cd demo
git init
git status // on branch master
echo "first line " >> index.txt 
git add . && git commit -m "first head"
git status // on branch master
git branch // * master
git branch dev
git checkout dev
git branch // * dev ,master 
ls // index.txt
echo "sec line in dev" >> index.txt 
git add . && git commit -m "in branch dev"
git checkout master 
git status // on branch master 
echo "sec line on branch master" >> index.txt
git add . && git commit -m "2"
开始合并dev 到master报错
git merge dev 
Auto-merging index.txt
CONFLICT (content): Merge conflict in index.txt
Automatic merge failed; fix conflicts and then commit the result.
git diff // on master
git diff index.txt
diff --cc index.txt
index dda3583,8fa96cd..0000000
--- a/index.txt
+++ b/index.txt
@@@ -1,2 -1,2 +1,6 @@@
  first line 
++<<<<<<< HEAD
 +sec line on branch master
++=======
+ sec line in dev 
++>>>>>>> dev
文件 index.txt 全部内容,在master分支下
first line 
<<<<<<< HEAD
sec line on branch master
=======
sec line in dev 
>>>>>>> dev

合并dev 到master,结果这个文件出现了 <<< HEAD >>> dev 这样的,如何将他们合并成功?非得手动去编辑,再提交吗?

6 个回答
  • 建议使用p4merge等可视化diff工具,另外只要开发者使用git都符合规范,是不会出现合并master冲突的,建议加强对开发者的培训,规范化使用git,目前我这边使用的是git-flow

    2022-10-26 14:38 回答
  • 虽然命令行工具很强大,但是在理解了原理后使用可视化工具还是很方便的,特别是解决冲突的时候。
    当出现了这样的冲突的时候,手动去解决确实要比较仔细。利用可视化工具,可以方便的查看冲突的地方、快捷的在各个冲突点跳转,解决大多数冲突也只需要点击几次鼠标即可。
    推荐命令行结合可视化工具来使用git,比较好的可视化工具有TortoiseGit

    2022-10-26 14:38 回答
  • 一般用master分支合并dev分支,实际解决的冲突是在dev上的,建议仔细看冲突差异,以免影响别人的代码。

    2022-10-26 14:38 回答
  • 是的,因为你改动了同样的地方,所以需要手动解决冲突,只要把标记出的位置合并为一处代码就行了。或者你可以用cherry-pick或rebase来防止某些冲突

    2022-10-26 14:38 回答
  • 如果是确定可以合并(比如,分支代码没有问题时)时 merge 了产生冲突,那么手动处理是必须的。当然,在 master 上处理冲突是很蛋疼的。所以需要别的方法。

    有两个思路:

    1. 用 master 去 merge dev 分支,这样冲突就发生在 dev 分支下,手动解决好之后再合并回 master 就是一个 fast-forward 而已;

    2. 用 git rebase

    2022-10-26 14:38 回答
  • 有冲突肯定要手动编辑的!这个问题一般出现在多人团队中!解决冲突的时候尽量和队友一块!

    2022-10-26 14:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有