git reset 命令用于回退版本的使用

2021-05-06  本文已影响0人  小ocean

git reset 有三种模式:git reset [--soft | --mixed | --hard] [HEAD]

参考:https://www.runoob.com/git/git-reset.html

--mixed

1、git reset c27948b75a54651bd57058c417a53d4216ea5389   暂存区回退,工作区文件内容保持不变
2、git checkout .   确认工作区文件是否需要,不需要使用checkout .
3、git push --force  git要强制覆盖,那么可以使用--force命令。
4、git  status    如果有添加的文件可能需要手动删除 (C#代码已经忽略掉的)

--soft

--hard

总结:

--hard:重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。

--soft:重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

--mixed(默认):重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区 和 Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。

上一篇 下一篇

猜你喜欢

热点阅读