如何撤销一个未推送的git提交

6

我正在使用Idea IntelliJ Community Edition 2016并提交了一个变更到GIT,但我还没有推送它。现在当我查看我的推送队列时,我可以在队列中看到它。我尝试了RESET HEAD选项,但它没有起作用。我想删除那个提交。如何在Intellij中做到这一点?

3个回答

9
在最新版本中,您只需进入“版本控制”,右键单击提交并选择“撤消提交”。这将把更改放回到更改列表中(以便您在需要时进行编辑)并删除提交。如果您想彻底删除它们,可以删除更改列表/恢复更改。
使用“重置HEAD”选项也应该可以,只需确保选择正确的目标并设置适当的重置类型(如果要保留更改,则为“Mixed”,如果要删除更改,则为“Hard”)。为了更容易找到目标,您可以在“版本控制”中右键单击提交时找到“重置当前分支到此处”的选项。

5
  1. 提交代码:$ git commit -m "某些错误的指导"
  2. 取消上一次提交:$ git reset HEAD~
  3. << 根据需要编辑文件 >>
  4. 添加更改到暂存区:$ git add ...
  5. 使用原始提交信息创建新的提交:$ git commit -c ORIG_HEAD

4
在IntelliJ的“VCS > Git > Reset HEAD”对话框中,您需要:
  • 选择Soft作为Reset Type(以保留撤消提交的更改)
  • 使用HEAD^作为提交(将分支历史记录指向1个提交)

example

这相当于以下的git命令:git reset --soft HEAD^

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