在合并分支的时候,有可能会遇到冲突,我们需要先解决掉冲突,然后才能去合并分支 ... 下面,我们演示一下手工解决冲突的方法 ...
先切换到 master 分支 .. . 然后打开项目的 index.html ... 修改一下这个页面标题 ... 把 Document 改成项目的名称 ... Movietalk .. 保存一下 ...
回到终端工具,去提交一下这个修改 ...
git commit -am '修改 index.html 页面标题为 Movietalk'
然后切换到 mobile-feature 这个分支 ...
git checkout mobile-feature
打开项目的 index.html ,同样去修改一下页面标题 ... 改成 Movie 下划线 talk ... 保存 ...
再去提交一下 ...
git commit -am '修改 index.html 页面标题为 Movie_talk'
查看一下日志 ...
git log --oneline --decorate --all -10 --graph
下面我们可以试着把 master 这个分支合并到 mobile-feature 这个分支上 ...
git merge master
回车以后... 会出现冲突的提示 ... CONFLICT ... Merge conflict in index.html ... 在 index.html 这个文件里有合并的冲突 ...
这是因为我们在 master 还有 mobile-feature 这两个分支上都修改了 index.html 这个文件的页面标题 ... 所以在合并的时候,git 不知道你想要哪个修改 ...
想要放弃这个合并,可以使用 git merge ,后面加上一个 abort 选项 ...
下面我们可以手工去解决一下这个冲突 ...
打开项目的 index.html ...
在这个文件上面,git 已经给我们标记出了有冲突的地方 ... HEAD 和等号之间的内容当前分支上的 ... 也就是 mobile-feature 这个分支上的内容 ...
等号跟 master 之间的内容是 master 这个分支上的内容 ... 解决这个冲突,就是删掉不想要的内容 ... 比如我们想使用 master 分支上的版本 ...
这样,可以把 HEAD 和等号之间的东西删除掉 ... 包括 HEAD 还有等号这两行代码 ... 另外还有 master 这行代码 ...
保存 ... 然后需要再做一个提交 ...
git add .
git commit
这里可以不用为 commit 指定一个描述信息 ... 回车以后 ... git 会自动提交一条描述 ...
Merge branch 'master' into mobile-feature
我们可以把下面的 Conflicts: index.html 这行去掉 ...
保存并退出 ... 这样就完成了这个合并 ...