git reset 是 用于撤销之前的提交或修改仓库的状态。在使用 git reset 命令时,可以指定不同的模式来达到不同的效果。这些模式包括 --soft、–mixed、–hard 和 --keep。
1 git reset --soft xx :
该模式会将 HEAD 指向目标提交,但会保留目标提交之后的修改。此时,目标提交之后的修改会变成未暂存的修改,可以使用 git status 命令查看并选择性地提交修改。
大致就是 你操作了,
1.1 修改代码
1.2 git add ,
1.3 git commit ,
1.4 git push
然后执行 git reset --soft xx 相当于你回退到了 1.2 git add 这一步。 其他的没有改变,
2 git reset --mixed(默认模式)xx:
该模式在执行 git reset 命令时不带任何参数时,默认使用的就是该模式。它会将 HEAD 指向目标提交,并清除目标提交之后的修改。此时,目标提交之后的修改会变成未提交的修改,可以使用 git status 命令查看并选择性地提交修改。
大致就是你操作了
1.1 修改代码
1.2 git add ,
1.3 git commit ,
1.4 git push
然后执行 git reset --mixed xx 相当于你回退到了 1.1 修改代码 这一步。 其他的没有改变,
就是你修改的代码还在,下面的几个步骤回退了
3 git reset --hard xx:
该模式会将 HEAD 指向目标提交,并彻底清除目标提交之后的修改,即撤销所有未提交的修改。此时,目标提交之后的修改会被永久丢弃,请谨慎使用。
大致就是你操作了
1.1 修改代码
1.2 git add ,
1.3 git commit ,
1.4 git push
然后执行 git reset --hard xx 相当于你回退到了修改代码之前,就是修改的代码都没了,简单粗暴,使用的时候注意是否要备份下自己修改的内容
4 git reset --keep xx:
该模式类似于 git reset --mixed,它会将 HEAD 指向目标提交,并尝试保留目标提交之后的修改。但与 git reset --mixed 不同的是,如果目标提交之后的修改与当前状态存在冲突,该模式会终止操作,以避免可能造成的代码丢失文章来源:https://www.toymoban.com/news/detail-704491.html
这个自己用的可少。没啥好说的就是类似mixed ,有冲突的时候该操作会终端。文章来源地址https://www.toymoban.com/news/detail-704491.html
到了这里,关于git reset soft mixed hard keep区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!