今天将本地分支与远程master分支合并时,出现了这样的问题:
这是因为本地有文件改动未提交,并且该文件和Git服务器最新版本有冲突,此时pull更新就会提示错误,无法更新。
记录下解决方法
方法一
保留本地改动的同时,并把Git服务器上的代码pull下来:
先把本地改动暂存到本地仓库,pull代码后再把这部分改动代码拿出来。
【步骤】
-
通过
VCS -> Git -> Stash Changes
,将本地的所有改动暂存到本地仓库。
这一步执行后会撤销本地的所有改动,这时候不用担心自己修改的代码怎么不见了,还可以拿出来的。
-
现在可以pull了
pull完成后本地代码就更新到最新了,也不会报错了~
如果想把自己修改的部分从本地仓库中再拿出来的话,可以通过
VCS -> Git -> unStash Changes
把之前的改动合并到本地。
方法二
直接覆盖本地的代码,放弃自己本地的改动,只保留服务器端代码
直接回退到上一个版本,再进行pull。
【步骤】
-
直接
VCS -> Git -> Reset HEAD...
-
选择需要的reset模式:hard(即放弃本地代码,新修改的都不要了,退回上一版本,再拉取代码到本地。)
延伸
在使用Git的过程中,有些时候我们只想要 git 服务器中的最新版本的项目,对于本地的项目中修改不做任何理会,就需要用到 Git pull 的强制覆盖。
git fetch --all
git reset --hard origin/master
git pull
git pull从远程拉取最新版本 到本地自动合并,git fetch从远程获取最新版本 到本地不会自动合并