在进行版本管理的过程中,冲突肯定必不可少,有冲突,我们肯定要解决,这里就介绍几种解决 git 冲突的方法,希望对大家有所帮助。

1.本地和远程库冲突

这种情况下,我们可以讲本地的修改先缓存起来,然后在拉取远程库中最新的代码,然后从缓存中将本地修改取出来进行合并。具体的命令如下:

git stash # 缓存本地修改
git pull  # 拉取远程代码
git stash pop # 恢复缓存的数据,进行合并
git diff -w 文件名  # 查看自动合并的情况


这种比较简单,可以较快得解决冲突。

2. 放弃本地修改,直接使用远程库

这种情况就是我们将本地的代码修改坏了,不想要了,想直接拉取远程的代码,放弃本地的修改,这时我们可以这样来:

git reset --hard
git pull


3. 直接使用分支的最新代码

这种情况是在主干分支上修改的代码不想要了,直接想将分支的代码当做主干的最新代码,这时我们可以这样写:

git checkout master # 先切换到主干
git merge 分支名  # 合并分支


这里是直接将分支作为主干的最新代码,放弃主干中的修改。

4. 合并主干分支代码

这种情况就是我们拉了一条分支开发一个新特性,然后开发完成之后需要和主干进行合并,这时我们可以这样搞:

git checkout master # 切换到 master 分支
git merge --squash 分支名 # 合并分支


OK,这里介绍了 4 种比较常见的常见的冲突解决方法,但是,需要注意的时,这里介绍的都是还没有 git commit 的,如果已经 git commit 过的,那么,你可能需要放弃 git commit,放弃的话可以使用:

git log # 查看 commit 日志
git reset --hard commit_id # 放弃某次commit