如何在不影响未分级更改的情况下丢弃git中的分阶段更改

时间:2016-02-02 15:33:58

标签: git

为了在我的提交中包含一些未跟踪的文件,我跟踪this帖子,并意外添加了许多不需要的东西。现在我的回购中有这种情况。

2016-02-02 16:51 Unknown            o Staged changes <--- untracked files
2016-02-02 16:51 Unknown            o Unstaged changes <-- want to preserve
2016-01-04 17:01 XXXXX YYYYY        I [wool_task_conversion] [master] [origin/HEAD] [origin/master] First commit

我现在想要将未跟踪文件带回原始位置,即未分级区域,如同保留跟踪文件的未分区区域中的更改一样。

2 个答案:

答案 0 :(得分:2)

如果你查看git status的输出,它实际上回答了这个问题:

Davids-Mac-Pro:DAD dhoelzer$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   t

因此,只需执行git reset HEAD <file>即可完成您的要求。

如果要在保留更改的同时删除所有暂存的更改,则以下内容应该是正确的:

 git reset HEAD -- .

这应该从项目的根目录开始。

答案 1 :(得分:0)

使用,

git resetgit reset --mixed

  

<强> - 混合

     

重置索引但不重置工作树(即保留更改的文件但未标记为提交)和报告   什么还没有更新。 这是默认操作

然后您可以相应地暂存所需的文件。