Git冲突:"commit your changes or stash them before you can merge."

参考自:https://blog.csdn.net/lincyang/article/details/21519333

  • 问题描述:本地做了修改,但是没有git add,也没有git commit,直接执行git pull,提示如题所示的错误:“commit your changes or stash them before you can merge.”
  • 原因分析:commit可以解决问题,但是现在不想提交本地的修改(比如只是做了一些测试,不想传到网上),错误提示也可以执行stash操作(备份、暂存),如果也不想stash,那么就可以直接删除本地修改
  • 解决办法:
    • 暂存:
      git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
      git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
      git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
      git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
git stash 
git pull
git stash pop
  • 直接删除本地修改:
git reset --hard
git pull

你可能感兴趣的:(Git)