git冲突的解决与版本回退遇到的问题

Posted wwzyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git冲突的解决与版本回退遇到的问题相关的知识,希望对你有一定的参考价值。

这里有2个分支,master中的test.txt文件内容是master init,branch01中的test.txt文件内容是branch01 init。

技术图片  技术图片

1、合并分支遇到冲突

在master上merge branch01,由于master的第一行是master init,branch01的第一行是branch01 init,所以合并时就出现冲突了。

技术图片

解决方法:修改冲突的test.txt文件,然后git add, git commit, git push

技术图片

查看提交后的结果,会看到把branch01所有提交的版本都合并到了master上了,解决冲突后的test.txt文件也是对的。

技术图片

技术图片

 

2、版本回退遇到的问题

输入git log,如下图所示,head表示最新版本。

技术图片

现在把分支回退到合并前,也就是回退到master init提交的版本,如下图所示,输入git reset --hard [commit-id],可以看到当前版本已经回退到了master init提交到那个版本,之前合并到版本已经没有了

技术图片

现在把当前本地分支同步到远程,如下图所示,使用git push出现推送失败的情况,因为本地分支的版本低于远程分支,当然会这样,我们本来就行回退到之前的分支。注意这里不要使用git pull来更新分支,更新后又是回退前的版本了。使用git push -f强制推送过去,就可以了。强制推送的情况在这里可以使用,一般情况下不推荐使用。

技术图片

我们再次查看远程分支,如下图所示,推送版本只有master init,之前合并后的版本没有了

技术图片

技术图片

 

以上是关于git冲突的解决与版本回退遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

Git 解决分支冲突

GIT学习随笔

svn还原与本地版本回退

git 命令

git学习中遇到的疑难杂症

Git冲突解决