当我们在本地修改代码之前未pull,等我们在本地修改完代码在git pull,这时候就会报错:
error: Your local changes to the following files would be overwritten by merge
这时候如何解决这个问题,首先取决于你是否想要保存本地修改:
1.如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来),则执行以下三条命令
git stash
git pull origin master
git stash pop
git stash的时候会把你本地快照,然后git pull 就不会阻止你了,pull完之后这时你的代码并没有保留你的修改。
这时候执行git stash pop你去本地看,会发现发生冲突的本地修改还在,这时候使用add,commit,push 命令即可更新本地代码到服务器了。
2.如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull,用远程的代码直接覆盖本地就好了:
git reset --hard
git pull origin master