git 一些undo操作

使用git的时候经常会出现,“啊!,刚才提交的代码有问题,需要undo一下了” 这种情况,为了应对这种问题。本文介绍 git 的一些 undo 操作

在使用 git 时,可以分为4个工作区域:

  • working area: 本机工作区
  • staging area:当执行 git add时候,文件就会到 staging area
  • local repo: 当执行 git commit 时候,文件就会 从 staging arealocal repo
  • remote repo: 当执行 git push 的时候,local repo 文件就会同步到 remote repo

UNDO:

  • working area:当在 working area写了个bug,undo的话就 backspace 就好了
  • staging area: 在 git add 的时候,突然发现多 add 了个文件,这时候 git checkout <file> 就可以了(或者 git reset HEAD )(此操作不会修改working area中的内容)
  • local repo: 如果想撤回上一次或者几次 commit 怎么办。
    • git reset HEAD~1 (默认为 --mixed) 。撤销git commit, git add 操作, 保留 working area的修改。
    • git reset --soft HEAD~1。撤销 git commit 操作,保留 working area的修改,git add 操作。
    • git reset --hard HEAD~1。撤销 git commit, git add ,working area的修改。
    • git reset HEAD~2。撤销两次提交
  • remote repo:当执行 git push 之后发现坏事了,怎么办
    • git revert commit-id。会删除本次同步的所有内容,并执行 add ,commit, push
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:上身试试 返回首页