git reset
用于恢复到历史提交点,重置暂存区与工作目录的内容
可选参数
reset 有三个选项可使用
- --hard 重置位置的同时,直接将 working Tree 工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容
- --soft 重置位置的同时,保留working Tree 工作目录和index 暂存区的内容,只让repository中的内容和 reset 目标节点保持一致
- --mixed(默认) 重置位置的同时,只保留Working Tree 工作目录的內容,但会将 Index 暂存区 和 Repository 中的內容更改和 reset 目标节点一致
使用示例
git reset
将 add 到暂存区的内容回退git reset --hard b7b73147ca8d6fc20e451d7b36
恢复到指定提交版本(先通过 git log 查看版本号),重置 stage 区和工作目录里的内容。git reset --hard HEAD^^^
恢复前三个版本git reset --soft
保留工作区的内容,只回退 commit 的动作。保留 working tree 工作目录的內容,index 暂存区与 working tree 工作目录的內容一致,只是仓库repository 中的內容的改变。git reset HEAD -- .
撤销暂存区的文件git reset --hard
清空工作区和暂存区的改动git reset HEAD hd.js
放弃已经 add 暂存区的文件 hd.js