git merge 冲突解决
极简核心用法
一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master
二、当master代码改动了,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev
git merge master
git push -u origin dev
冲突解决
找到冲突的文件,挨个修改。
修改完需要执行一下git add -A
(其他方法,有git add .
),然后git commit
或者 git commit -m "注释"
。否则直接commit,会报错fatal: cannot do a partial commit during a merge.
参考链接
冲突文件极简说明
冲突文件的格式基本如下
<<<<<<< 到 ======= 是在当前分支合并之前冲突的内容
======= 到 >>>>>>> 是在其它分支(要合并的分支)下冲突的内容
需要在这个两个版本中选择一个,然后把标记符号也要一起删除
参考链接
“git add -A” 和 “git add .” 的区别
参考链接
git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
git add -A :是上面两个功能的合集(git add --all的缩写)
git add -A 提交所有变化
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
其他命令
git diff
命令来查看冲突
git merge --abort
放弃终止合并
git mergetool
工具