git reset有两种用法,一种用法在命令中包含路径<paths>,这种方法不会改变引用,也不会改变工作区,而是用指定提交状态下的文件替换掉暂存区的文件,相当于取消之前git add操作。
第二种方法,不使用路径<paths>则会重置引用。
命令格式为:git reset [--soft | --mixed | --hard] [<commit>]
参数--soft 只更改引用的指向,不更改缓存区和工作区
参数--mixed或不使用参数 既更改引用也重置缓存区 但是不改变工作区
参数--hard 不但更改引用重置缓存区 也对工作区进行更改
git reset HEAD或git reset 不改变引用也不改变工作区,只将之前用git add命令更新到暂存区的内容撤出暂存区
git reset -- filename 仅仅将指定文件的改动撤出暂存区,工作区和引用不变。
git reset HEAD^ 工作区不变,暂存区和引用都回退一次
git reset --hard HEAD^ 彻底撤销提交,工作区,暂存区和引用都退回到上一次的提交状态。
个人感觉git reset命令,需用在工作做反复使用才能熟练掌握。
时间: 2024-11-08 15:13:25