PHPStorm中的Git:从Git中取消暂存文件(从暂存区删除未提交的文件)

25
在 PHPStorm 的 Git 界面中,使用右键菜单中的“Git >”子菜单中的“+ Add”选项可以轻松地对文件和文件夹进行暂存。但是,如何将它们从暂存区中删除?答案是在“Default Changelist”选项卡下,右键单击要取消暂存的文件或文件夹,然后选择“Revert”。

1
如果对我的问题进行投票的人能够解释原因就好了(例如:它是否与另一个问题重复?)。 - OMA
5
但是我提出的问题是关于在PHPStorm中如何做到,而不是在控制台中。此外,如果每个人在StackOverflow上回答每个问题都是“谷歌一下”,这个网站就没有意义了。通常,当查找问题时,谷歌会返回来自StackOverflow的结果。如果每个答案都是“谷歌一下”,那么对于每个正在搜索的人来说,时间都是浪费的,因为他们只能找到一个无用的“谷歌一下”答案,而实际上是在谷歌搜索。正如我所说,Git文档适用于控制台,而不适用于我的问题,我的问题涉及特定的GUI(PHPStorm)。 - OMA
好的,你说得对,“remove”有点含糊不清。感谢你的编辑。实际上我是指“取消暂存”。但由于PHPStorm中“暂存”文件的选项被称为“添加”,所以我使用了它的反义词“remove”。 - OMA
2
"缺乏研究", "谷歌一下", "学会如何解决问题"我在谷歌上搜索了这个问题,然后来到了这里...算不算? - Colyn Brown
看到了吗?这就是我所说的!;-) - OMA
显示剩余5条评论
3个回答

30

我发现一种简单(但不明显)的方法来在PHPStorm中删除Git中尚未提交的文件(例如,您“添加”/“暂存”某些最终不会使用的文件)。

您只需右键单击该文件并选择“Git>回退”(旧版本中为“Git>还原”)。由于它仍未提交,“回退”/“还原”实际上将从Git中“删除”/取消暂存该文件。

您甚至可以通过选中“删除已添加文件的本地副本”选项来物理删除该文件,或者在将其从Git中删除后将其保留为原样,不勾选该选项(在这种情况下,该文件将以红色显示,就像它仍未被添加一样)。


这个有效,但需要还原有点奇怪,不过我想有点道理。 - Christopher Thomas

7

您必须使用控制台/终端来执行此操作。git rm -–cached <file>,如果我没有记错的话。

他们不打算实现这种很少使用的功能(除非我错过了更新的工单):http://youtrack.jetbrains.com/issue/IDEA-107359


谢谢!我不明白为什么他们认为不提供删除功能是合理的。即使从版本控制系统中删除文件的频率比添加文件要少得多,但这仍然很有用,而且实现这个功能也不需要花费几周的时间。 - OMA
2
我认为应该是 --cached 而不是 -cached - Peyman Mohamadpour
我刚刚对这个答案提交了一次编辑更正,涉及到@Pmpr提到的“--cached”问题,因为我在复制粘贴之前没有看到,所以出现了错误。 - god_is_love

0
从PHPStorm中取消暂存文件的操作是右键点击该文件并选择"回退(Rollback)",这样该文件就会移动到未版本控制的文件中。

你的解决方案在这里已经在一个5年前发布的答案中提到过了,但还是谢谢你的贡献。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接