这一篇来看一下合并分支中冲突的解决方案
1、首先制造一个冲突:
git init
touch a.txt
git add .
git status
git commit -m 'master'
2、创建两个新的分支,此时两个分支里面都有a.txt
git branch mybranch1
git branch mybranch2
3、分别在两个分支里面修改a.txt,注意修改的内容不能一样
git checkout mybranch1
vim a.txt
git add .
git commit -m 'mybranch1'
git checkout mybranch2
vim a.txt
git add .
git commit -m 'mybranch2'
4、合并分支
git checkout master
git merge mybranch1
git merge mybranch2 #此时就会出现冲突了
5、解决冲突(在master里面)
vim a.txt #将里面有冲突的地方都修改掉
git add .
git status
git commit -m 'Resolving conflicts'
6、查看已经合并了的分支
git branch --merged
7、查看没有合并的分支
git branch --no-merged
8、删除已经合并了的分支
git branch -b mybranch1
9、这里补充一下,如果一个文件已经add到缓冲区之后,但是临时又要修改其他分支的文件,这时候就需要将文件放在临时存储区里面再切换分支,具体步骤如下:
git stash #将文件放在临时存储区里面
git stash list
git checkout mybranch2
..... #修改分支2里面的东西
git checkout mybranch1
git stash apply stash@{0} #恢复缓冲区
git stash drop stash@{0} #删除临时存储区
########################
git stash pop #直接恢复并删除
########################
..... #继续修改文件