如何在PhpStorm中从本地Git仓库中删除提交?

4
我正在使用PHPStorm并遇到了问题。
我已经在PHPStorm中提交了几个文件(cmd+k),但这是一个错误,我不应该将它们推送。现在我不知道如何从PHPStorm中重置/删除该提交。
我在终端中使用了git reset --hard命令,但在PHPStorm中没有任何改变——提交仍然存在。如果我尝试推送(shift+cmd+k),我可以看到它,然后我会看到所有之前的提交。
5个回答

11
只要提交尚未上游,命令行解决方案即可:
git reset HEAD^

HEAD^ 指的是 HEAD 前面最近的提交。 HEAD 代表最新的提交。当您使用 git reset 而没有指定其他参数时,它会重置到最新的提交。但这恰好就是您已经到达的点。

添加 --hard 会清理掉工作目录中添加/编辑的文件。您自己决定是否需要这样做。


git reset HEAD^然而,在phpstorm窗口中仍然可以看到相同的提交文件 :( - Petr Garmashov
这就是为什么我尝试解释 --hard 的原因。如果你想要删除文件并撤销提交,请尝试使用 git reset HEAD^ --hard,但请注意,你将会失去最后一次提交所做的修改。 - Joost

2

我的IDE左下方有一个Git按钮,如果我点击它,我可以看到我的本地和远程分支。如果你点击一个分支,你可以在时间轴中看到所有提交记录,并且你可以通过右键单击它们并选择“撤销提交”来删除它们。请注意,您必须按照添加它们的顺序删除它们。


1
您可以尝试使用git revert <commit_sha>来撤销不想要的提交。它不会删除提交,而是撤消了提交中所做的操作。

1

0

类似情况。在我的情况下,我提交并推送到了Github。但是其中2个文件太大了,无法传输。我真的不需要它们,所以我从硬盘中将它们删除了。然后我尝试再次推送,因为第一次推送失败了。但是我仍然收到来自推送的相同大小错误。我应该重置整个提交,重新提交,然后再次尝试推送吗?


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