git pull时:对下列文件的本地修改将被合并操作覆盖

发表于:
来源:阿酷技术学习
作者:

当git pull时,出现以下提示:

更新 07153c9..820f46d

error: 您对下列文件的本地修改将被合并操作覆盖:

        cron/brand.dic

        cron/cat.dic

请在合并前提交或贮藏您的修改。

终止中

这种情况是由于:

别人修改了文件并且提交PUSH,你也修改了此文件并且没有add和commit.然后你在pull时就会出现此提示。

解决办法:

1,如果你想舍弃,你对当前文件的修改。那么git status

 (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

        修改:     cron/brand.dic
        修改:     cron/cat.dic

 那么可以git checkout -- cron/brand.dic和git checkout -- cron/cat.dic,把工作区的文件checkout拉出覆写本地的文件。checkout与add是反义词。都是操作暂存区的。

也可以直接git reset --hard master,直接从仓库中拉出覆写暂存区和工作区。

2,如果不想舍弃对本地的修改:

就按照提示的操作一样:请在合并前提交或贮藏您的修改。

贮藏修改,就要用到git stash.网址:https://git-scm.com/docs/git-stash

先git stash,本地工作区备分,放入git栈中。然后,工作区内容恢复到仓库head最后一次提交的内容。

然后git pull.

最后,git stash pop,这个过程自动合并。如果成功,则自动此备分从git stash中删除。如果有冲突,则你需要手动解决冲突。然后git stash drop