git reset hard、git reset soft 和git revert的区别

git reset hard、git reset soft 和git revert的区别

我们在日常的git bash使用中经常会遇到需要回退或撤销的情况,这时候只要熟悉git reset和git revert命令即可方便我们进行相关操作
众所周知,Git库中的代码文件都会处于以下三种状态之一:

  • 已提交(committed)已保存在本地数据库
  • 已修改(modified)修改了某个文件的内容或者标题,但还没有提交保存
  • 已暂存(staged)把已修改的文件放在下次提交时要保存的清单中
    git reset和git revert 命令也是基于以上三种状态而生效

git reset --hard 与git reset --soft的作用和区别

  • git reset --hard
    输入此命令后,本地修改文件将会回退到上一次修改状态之后,在此操作之前的所有文件记录都被彻底删除,工作区和暂存区都会进行变更
    示例1

    图中显示该仓库回退到增加b.md文件之前

git reset --soft

输入此命令后,修改将从暂存区中撤回

示例2

git revert

输入此命令是把在编辑器内修改的内容进行撤回,撤回的同时会创建一个新的提交文件。


示例3

你可能感兴趣的:(git reset hard、git reset soft 和git revert的区别)