如何在不影响未分阶段更改的情况下丢弃 git 中的分阶段更改 [重复]
Posted
技术标签:
【中文标题】如何在不影响未分阶段更改的情况下丢弃 git 中的分阶段更改 [重复]【英文标题】:How to discard staged changes in git without effecting unstaged changes [duplicate] 【发布时间】:2016-05-11 11:58:43 【问题描述】:为了在我的提交中包含一些未跟踪的文件,我关注了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
我现在想将未跟踪的文件带回其原始位置,即未暂存区域,就像以前一样保留未暂存区域中的更改以用于跟踪文件。
【问题讨论】:
如果您的文件是untracked
,它们的原始位置会是什么?
【参考方案1】:
如果您查看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 -- .
这应该从项目的根目录运行。
【讨论】:
我有 1000 个文件要重置。我应该一一做吗? 已更新以回答您的评论。 优秀。感谢您的快速回复。【参考方案2】:使用,
git reset
或git reset --mixed
--混合
重置索引但不重置工作树(即,更改的文件被保留但未标记为提交)并报告 什么还没有更新。 这是默认操作。
然后您可以相应地暂存所需的文件。
【讨论】:
以上是关于如何在不影响未分阶段更改的情况下丢弃 git 中的分阶段更改 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在不影响密码更改行为的情况下正确防止 ASP.NET Identity 2.2.1 中的多个活动会话?