阅读量:1
目录
- 先提交再合并
0.合并冲突
在使用git进行合并操作的时候,在合并两个分支的时候就有可能出现合并冲突问题。
两个分支同时修改同一个文件的同一行内容时:
- 创建一个本地分支dev1,在dev1分支下修改ReadMe文件,将aaa内容修改bbb
- 与此同时在master分支下也修改ReadMe文件,将aaa其容修改ccc
- 当将dev1分支合并到master分支中,Git没有办法知道到底是保留bbb 还是 ccc ❗
- 所以git在合并dev1和master的时候就会出现问题,这个问题就是:合并冲突问题!
- 这两行代码是开发人员写的,我们要根据我们的需要留下需要的代码,并不是由Git做决定的。
1.创建和切换dev1
前文 创建和切换 dev1分支 是需要两行命令,这里介绍 一行命令直接搞定 创建和切换到dev1分支下。
git branch dev1 创建dev1分支下
git checkout dev1 切换到dev1分支下
git checkout -b dev1(-b创建新分支选项)新的分支的分支名
2.dev1 bbb on dev branch
3.master ccc on dev branch
4.dev1和master合并冲突
5.合并冲突解决
Automatic merge failed; fix conflicts and then commit the result.
手动解决冲突并且再次提交结果1.修复冲突:人为手动修改保留我们想要的代码
2.再次提交 :add 和 commit
之前master和dev都指向最新的提交记录☞合并之后☞解决冲突☞再次提交☞在master上又进行了一次提交,merge合并的提交☞master指向这次提交
【手动解决】
【再次在master分支上提交】
【仓库状态】
【file文件上,dev1和master的合并冲突】
6.git log查看合并流程图
⽤带参数的 git log也可以看到分⽀的合并情况,具体⼤家可以⾃⾏搜索 git log 的⽤法。
命令git log也可以让合并流程可视化
git log --greph(图) -- abbrev(将长的commit id进行一个缩写)-commit
git log --graph --pretty=oneline --abbrev-commit
git log --graph --abbrev-commit