问题: 本地从github服务器上拉取项目代码进行更新时,出现

error: Your local changes to the following files would be overwritten by merge:
       
Please commit your changes or stash them before you merge.

 

解决方法:

1、服务器代码合并本地代码

$ git stash     //暂存当前正在进行的工作。
$ git pull   origin master //拉取服务器的代码
$ git stash pop //合并暂存的代码

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

 

方法 1stash:

 git pull 提示错误,Your local changes to the following files would be overwritten by merge

 

2、服务器代码覆盖本地代码(硬覆盖:放弃本地修改,直接用git上的代码覆盖本地代码)

$git reset --hard  //回滚到上一个版本
$git pull origin master 

硬覆盖:

git pull 提示错误,Your local changes to the following files would be overwritten by merge

git pull 提示错误,Your local changes to the following files would be overwritten by merge

 

 

3、无视,直接commit自己的代码。

git commit -m "your msg"

 

相关文章: