981377660LMT / ts

ts学习
6 stars 1 forks source link

git reset 三种方案 #433

Open 981377660LMT opened 7 months ago

981377660LMT commented 7 months ago
image

这里的index就是暂存区

981377660LMT commented 7 months ago

git reset 命令用于将当前 HEAD 重置到指定的状态。根据参数的不同,git reset 有三种模式:softmixedhard

  1. git reset --soft <commit>:在此模式下,重置将 HEAD 移动到指定的提交,但是不改变暂存区和工作目录。换句话说,你的文件(已跟踪的)保持不变,所有的改动都会被放在暂存区,等待下一次提交。

  2. git reset --mixed <commit>:这是 git reset 的默认模式(如果没有指定模式)。在此模式下,重置将 HEAD 移动到指定的提交,并且改变暂存区,但是不改变工作目录。这意味着你的文件(已跟踪的)保持不变,但是所有的改动都会被移出暂存区,变成未暂存的修改。

  3. git reset --hard <commit>:在此模式下,重置将 HEAD 移动到指定的提交,并且改变暂存区和工作目录。所有的改动(无论是已暂存的还是未暂存的)都会被丢弃,工作目录会回到指定提交的状态。这是最危险的选项,因为它会丢弃所有的修改,所以在使用前需要确保你没有未提交的工作。