Open 981377660LMT opened 7 months ago
git reset
命令用于将当前 HEAD 重置到指定的状态。根据参数的不同,git reset
有三种模式:soft
,mixed
,hard
。
git reset --soft <commit>
:在此模式下,重置将 HEAD 移动到指定的提交,但是不改变暂存区和工作目录。换句话说,你的文件(已跟踪的)保持不变,所有的改动都会被放在暂存区,等待下一次提交。
git reset --mixed <commit>
:这是 git reset
的默认模式(如果没有指定模式)。在此模式下,重置将 HEAD 移动到指定的提交,并且改变暂存区,但是不改变工作目录。这意味着你的文件(已跟踪的)保持不变,但是所有的改动都会被移出暂存区,变成未暂存的修改。
git reset --hard <commit>
:在此模式下,重置将 HEAD 移动到指定的提交,并且改变暂存区和工作目录。所有的改动(无论是已暂存的还是未暂存的)都会被丢弃,工作目录会回到指定提交的状态。这是最危险的选项,因为它会丢弃所有的修改,所以在使用前需要确保你没有未提交的工作。
这里的index就是暂存区