【Git】pull遇到错误:error: Your local changes to the following files would be overwritten by merge:
这种情况下,如何保留本地的修改同时又把远程的合并过来呢?
首先取决于你是否想要保存本地修改。(是 /否)
是
别急我们有如下三部曲
git stash
git pull origin master
git stash pop
git stash的时候会把你本地快照,然后git pull 就不会阻止你了,pull完之后这时你的代码并没有保留你的修改。惊了! 别急,我们之前好像做了什么?
STASH
这时候执行git stash pop你去本地看会发现发生冲突的本地修改还在,这时候你该commit push啥的就悉听尊便了。
否
既然不想保留本地的修改,那好办。直接将本地的状态恢复到上一个commit id 。然后用远程的代码直接覆盖本地就好了。
git reset --hard
git pull origin master
git强制更新并覆盖本地修改
#从远程拉取最新的代码 不merge
git fetch --all
#使用指定分支的代码(此处develop)强制覆盖代码
git reset --hard origin/develop
#从远程拉取最新的代码 自动merge
git pull