创建与合并分支
- 首先,我们创建dev分支,然后切换到dev分支
$ git checkout -b dev
从git反馈的信息可以看出 我们创建了dev分支,并且切换到了当前分支,也就是HEAD指向了当前分支
其实git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
Switched to branch 'dev'
然后,用git branch命令查看当前分支:git branch 会列出所有分支
$ git branch
- 在dev分支上修改文件
这个时候我们切换到master
$ git checkout master
这个时候我们再看刚刚修改文件的内容发现之前修改的内容不见了
这是因为在dev上修改的内容并没有合并到master分支上
- 将dev分支上修改的内容合并到master分支上
$ git merge dev
合并之后就能看到在dev分支上修改的内容了
git merge命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。
- 删除dev分支
$ git branch -d dev
- 查看分支
目前只剩master一条分支说明Dev已经删除
解决冲突
- 新创建一个分支
git checkout -b test
-
修改md文件
-
分支上提交md文件
git add README.md
git commit -m "update readmd";
- 切换到master分支
git checkout master
-
重复分支步骤。修改添加提交
-
此时test和master修改同一文件并各自提交了,此时合并就冲突了,所以这个时候就无法快速合并了
这个时候我们就需要手动解决冲突了
通过git status命令我们可以定位到哪里冲突了
git 告诉我们 分支对md文件同时进行了修改
这个时候我们查看md文件会发现多了几行标识符
<<<<<<<,=======,>>>>>>>
Git用<<<<<<<,=======,>>>>>>>
标记出不同分支的内容,我们修改如下后保存
- 删除标示重新提交
git log --graph --pretty=oneline --abbrev-commit
查看分支合并情况
- 删除分支
git branch -d test
查看分支合并图
git log --graph
- 删除冲突生成的文件