git 平常出错笔记

和同事同时修改了某个文件,忘记git pull,直接提交git

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

解决方案(亲测有效):缓存

方法1:若是你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)服务器

  1. git stash (idea 中选择stash changes)app

  2. git pull origin master(idea 中选择pull)ide

  3. git stash pop (idea 中选择 unStash changes)idea

注释:git stash(git 储藏)code

  • git stash会把全部未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工做目录
    • stash是本地的,不会经过git push命令上传到git server上
  • 能够经过git stash pop命令恢复以前缓存的工做目录
    • 这个指令将缓存堆栈中的第一个stash删除,并将对应修改应用到当前的工做目录下
    • 也能够使用git stash apply命令,将缓存堆栈中的stash屡次应用到工做目录中,但并不删除stash拷贝
  • 能够使用git stash list命令查看现有stash
  • 能够使用git stash drop命令移除stash
  • 能够使用git stash show命令查看指定stash的diff

方法二、若是你想彻底地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pullserver

  1. git reset --hard (回退到上一个版本)it

  2. git pull origin masterast

相关文章
相关标签/搜索