我正在尝试理解git reset
命令。我理解git reset --hard
,我理解git reset --soft
非常有用。尽管在网上和本网站上阅读了很多内容,但我很难理解git reset --mixed
(或简称git reset
)实际上做了什么以及它用于什么。
我知道git reset
将暂存区域重置为指定提交的暂存区域,使工作树保留在最近的提交中。
这究竟意味着什么?暂存区域包含准备提交的已修改文件。但是,如果工作树的版本比暂存区域更晚,那么它是如何有意义的呢?
我何时会使用此命令?
这非常令人困惑。请尽量澄清。
答案 0 :(得分:1)
考虑您已签出分支并在当地进行了编辑,但您对所有这些更改感到不满意,并且您的最新提交是稳定的。在这可怕的时刻,来了
git reset --hard
返回稳定提交,并删除所有本地更改。
只需重置您的索引,不会触及任何已更改的文件
这也会重置您的索引,也不会删除您当地更改的文件,只是取消标记它们以进行提交。
这个硬汉只会消除你所有的最新动作,删除文件,重置索引,从而带回你最新的提交。