0%

git reset

2019年7月29日 上午11:17

理解方法:

  1. 理解扔掉:add 和commit我回过头去看,有些可能是多余的,我直接扔掉,对我现在的代码没有任何影响
  2. 回退覆盖:我扔掉add和commit的时候,用不用把我的本地文件给覆盖了。
    1. 当我们发现,这几天的工作完全错误,以后绝对没用的时候,我们才会覆盖。
  3. 只有-hard会覆盖,-mix -soft 就看你是扔add还是commit了

git reset 三种用法总结 - alphapersonality的博客 - CSDN博客

  1. git reset (–mixed) HEAD~1
    1. 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响)
    2. ::扔掉add和commit的内容::
  2. git reset –soft HEAD~1
    1. 回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)
    2. ::只扔掉commit()的内容,不影响add(暂存区)::
  3. git reset –hard HEAD~1
    1. 回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换
    2. ::扔掉add和commit的内容:: + 本地的文件也将被恢复的版本替换
    3. git reset (–mixed) + 本地的文件也将被恢复的版本替换

git reset file(README.md):撤销对暂存区的修改


git reset —soft

Git reset 常见用法 - 浅浅念 - 博客园


git reset —mixed



  1. 只要我们commit之后,commit的文件是一定不会丢失的
  2. mixed和soft的区别:仅仅在于soft暂存区是否会保存这次提交之后的所有变更

git reset —hard


  1. 这个会覆盖工作区的文件,慎用。否则新敲如的代码就丢了!!

git reset file(README.md)


  1. 这说明暂存区的东西一旦撤销就丢失了