1. git reset --hard
- 重置暂存区和工作目录
暂存区(Index/Stage)和工作目录(Working Tree)里面的内容会完全重置为和HEAD指向版本相同的内容(工作区、暂存区、版本库均是)。即暂存区里没有commit的内容和工作目录里的变动全部会被擦掉。
2. git reset --soft
- 保留工作目录,将重置HEAD所带来的差异放进暂存区
保留之前工作目录里的改动,同时保留暂存区里的改动。重置时,比较当前需要重置的版本与reset后的目标版本之间的差异,将其差异存储在暂存区。
3. git reset (默认--mixed)
- 保留工作区,清空暂存区
工作目录的修改、暂存区的内容以及由reset导致的差异都会放进文件目录。
网友评论