git pull遇到错误changes overwritten by merge

error: Your local changes to the following files would be overwritten by merge

发生错误原因:

  遇到git push发生错误,百度之后发现原因可能是远程仓库和本地仓库的修改版本不一致的原因,于是执行git pull origin master,这句话是说将远程中进行的相关修改保存下来,但这时可能会报错:error: Your local changes to the following files would be overwritten by merge。

解决方法:(输入以下命令)

1、git stash : 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

2、git pull origin master

3、git stash pop:从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

4、之后使用add、commit、push命令正常提交文件

备注:

1、git remote -v: 查看远程仓库详细信息,可以看到仓库名称

2、git stash list:显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。 

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

你可能感兴趣的:(git pull遇到错误changes overwritten by merge)