git撤销修改

  • 如果修改在工作区还没有add进暂存区,git checkout -- file,其实利用git checkout file 也可以,此时工作区的修改没有了。
  • 如果已经add到暂存区还没有commit,git reset HEAD file ,此时暂存区的修改恢复到工作区。
  • 如果已提交,git reset --hard HEAD,直接修改commit,所有的修改都没有了。

reset 回退类型
启动reset 可以添加type类型 --soft 、--mixed以及 --hard是三个恢复等级。

  • 使用--soft就仅仅将头指针恢复,已经add的缓存以及工作空间的所有东西都不变。如果最后的参数为HEAD 会把最近commit的内容会退到暂存区。
  • 如果使用--mixed,就将头恢复掉,已经add的缓存也会丢失掉,工作空间的代码什么的是不变的。add的内容也会被回退到工作区。
  • --hard,那么一切就全都恢复了,头变,aad的缓存消失,代码什么的也恢复到以前状态。一切都会变化。

HEAD~1 回退一个commit
git reset --hard commitid 回退到任意commitid
git reset --hard HEAD^ 来回退到上一次commit的状态

例子:
git撤销修改_第1张图片

git撤销修改_第2张图片

-- soft 和 -- hard 就不做试验了。

你可能感兴趣的:(Git学习,git,回退)