Git拉取命令报错

Git拉取命令报错

在使用git过程中,更新操作是很常见的一种操作。如果当本地的文件修改过后,和远程仓库的文件不一致了,此时再进行更新操作就可能会产生错误Your local changes to the following files would be overwritten by merge。下面是我在更新Hexo主题时出现的:

那么当出现了上述的问题时,我们应该怎么办呢?一般根据你的实际情况作如下操作:

保留本地版本同时更新

这种情形适合希望保留生产服务器上所做的改动,仅仅并入新配置项,则可以依次如下操作:

1
2
3
git stash
git pull
git stash pop

然后可以使用git diff -w file来确认代码自动合并的情况。

舍弃本地版本同时更新

这种情形适合希望用远程仓库中的文件完全覆盖本地工作版本,并舍弃本地版本,则可以依次如下操作:

1
2
git reset --hard HEAD^
git pull

其中git reset --hard HEAD^是针对版本,如果想丢弃一个文件的所有改动,可使用

1
git checkout -- file