Skip to content
On this page

git reset用于恢复到历史提交点,重置暂存区与工作目录的内容

可选参数

reset 有三个选项可使用

  1. --hard 重置位置的同时,直接将 working Tree 工作目录index 暂存区repository 都重置成目标Reset节点的內容
  2. --soft 重置位置的同时,保留working Tree 工作目录index 暂存区的内容,只让repository中的内容和 reset 目标节点保持一致
  3. --mixed(默认) 重置位置的同时,只保留Working Tree 工作目录的內容,但会将 Index 暂存区Repository 中的內容更改和 reset 目标节点一致

使用示例

  1. git reset 将 add 到暂存区的内容回退
  2. git reset --hard b7b73147ca8d6fc20e451d7b36 恢复到指定提交版本(先通过 git log 查看版本号),重置 stage 区和工作目录里的内容。
  3. git reset --hard HEAD^^^ 恢复前三个版本
  4. git reset --soft 保留工作区的内容,只回退 commit 的动作。保留 working tree 工作目录的內容,index 暂存区working tree 工作目录的內容一致,只是仓库repository 中的內容的改变。
  5. git reset HEAD -- . 撤销暂存区的文件
  6. git reset --hard 清空工作区和暂存区的改动
  7. git reset HEAD hd.js 放弃已经 add 暂存区的文件 hd.js