Git冲突处理测试
Posted listener_lei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git冲突处理测试相关的知识,希望对你有一定的参考价值。
手动制造冲突并使用Git进行处理。
练习:
首先创建一个测试文件 readme.txt
存入一些测试数据
查看此时仓库状态
将测试文件加到暂存区
提交并推送到远程
将测试文件同步到测试分支
修改测试文件
对比文件
将修改后的文件提交到远程仓库
在网页上进行合并,将分支合并到master分支上
切换到master分支
对测试文件进行修改
添加修改提交并推送到远程
出现冲突,不能推送到远程,远程仓库的版本比本地的新,需要先将远程的修改同步到本地
在将其推送到远程。
建议向远程仓库推送之前先pull一下,看远程仓库是否有更新,然后在进行push操作
将远程仓库的代码pull到本地,提示冲突
对比冲突文件
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,
>>>>>分支 是指分支上修改的内容,手动处理冲突:一般将标记去掉,其余保留。
处理之后添加到暂存区提交
在将其推送到远程仓库,对比前后右上角master的标志,发现MERFING自动消失
冲突处理完成。
我们大部分时候都是创建自己的分支在自己的分支上面进行开发,推送到远程与主分支进行合并的,
如果遇到冲突,如果是一个文件有冲突,可以在远程网页上进行冲突的处理然后进行合并。
但是如果冲突的文件大于一个在远程就无法解决冲突,需要在本地进行解决。
采用git 命令进行冲突处理
# 取远程仓库中的代码
git fetch origin
# 在本地创建一个分支,和远程主机上的冲突分支建立连接,并切换到这个分支
# Branch \'ceshi\' set up to track remote branch \'leilong\' from \'origin\'.
git checkout -b ceshi origin/leilong
#在当前分支上合并master(需要保证本地master与远程仓库的master上是同步的)
git merge master
如果发生冲突,需要手动解决。
冲突的文件在开发工具中会标红提示,需要手动的解决这些冲突。可以采用上面的方法进行处理
手动解决冲突后重新添加文件索引。
再次进行commit提交。会发现分支旁边的 merging消失。
Step 2: Merge the changes and update on GitHub.
# 切换回master分支,将新创建的分支合并到master上推送到远程,冲突解决
git checkout master
git merge --no-ff ceshi (分支名)
git push origin master
以上是关于Git冲突处理测试的主要内容,如果未能解决你的问题,请参考以下文章