【问题标题】:What will happen to uncommited and unstaged files after git reset --hard?git reset --hard 后未提交和未暂存的文件会发生什么?
【发布时间】:2013-08-22 19:03:58
【问题描述】:

我正在尝试理解 git reset 命令。我有一个包含文件 file_1 的初始 commit_A。

  • 现在我在我没有添加的工作目录中添加了 file_2 上演。如果我现在运行git reset --hard,file_2 仍然保留在工作目录中。

  • 但是如果我暂存 file_2 然后运行 ​​git reset --hard ,file_2 将被取消暂存并从工作目录中删除。

为什么 file_2 在第二种情况下从工作目录中删除,而在第一种情况下没有删除?

【问题讨论】:

    标签: git git-reset


    【解决方案1】:

    在第一种情况下,file_2 不会被跟踪,因为您只是将它添加到您的工作目录中,而没有暂存或将其嵌入到提交中。 执行git reset --hard 将不会对这些文件产生影响,因为它不会被 git 跟踪。

    在第二种情况下,您开始跟踪file_2(通过暂存它),这意味着运行git reset --hard 然后将reset 您的工作目录包括file_2,然后从您的暂存区域和您的工作目录中删除目录。

    我还建议您在the role of reset 上更深入地查看well explained article(充满示例)。

    【讨论】:

      猜你喜欢
      • 2012-07-08
      • 2020-05-07
      • 2014-02-13
      • 2019-05-06
      • 2018-02-28
      • 2018-11-02
      • 2017-06-04
      • 2020-07-25
      • 2011-05-18
      相关资源
      最近更新 更多