了解git reset --mixed

时间:2015-07-04 00:46:51

标签: git version-control

我正在尝试理解git reset命令。我理解git reset --hard,我理解git reset --soft非常有用。尽管在网上和本网站上阅读了很多内容,但我很难理解git reset --mixed(或简称git reset)实际上做了什么以及它用于什么。

我知道git reset将暂存区域重置为指定提交的暂存区域,使工作树保留在最近的提交中。

这究竟意味着什么?暂存区域包含准备提交的已修改文件。但是,如果工作树的版本比暂存区域更晚,那么它是如何有意义的呢?

我何时会使用此命令?

这非常令人困惑。请尽量澄清。

1 个答案:

答案 0 :(得分:1)

考虑您已签出分支并在当地进行了编辑,但您对所有这些更改感到不满意,并且您的最新提交是稳定的。在这可怕的时刻,来了

git reset --hard

返回稳定提交,并删除所有本地更改。

硬,软和混合在他们重置的内容上有所不同

  1. - 软
  2. 只需重置您的索引,不会触及任何已更改的文件

    1. - 混合
    2. 这也会重置您的索引,也不会删除您当地更改的文件,只是取消标记它们以进行提交。

      1. - 硬
      2. 这个硬汉只会消除你所有的最新动作,删除文件,重置索引,从而带回你最新的提交。

        this