【问题标题】:How can i revert a git commit --amend -m without losing my original hashcode and the code i supposed to commit?如何在不丢失原始哈希码和我应该提交的代码的情况下恢复 git commit --amend -m?
【发布时间】:2023-09-27 18:10:01
【问题描述】:

我需要恢复一个错误的 git commit --amend -m

  1. 在没有 -m 的情况下做了 git commit
  2. 是否 git commit --amend -m "commit message"
  3. git commit --amend -m "commit message" 更改了我之前的提交,而不是我应该提交的提交。

是否可以在不丢失我的原始哈希码或我应该提交的代码的情况下恢复到第 1 步之前的状态?

顺便说一句,提交尚未推送

【问题讨论】:

  • 提示:git reflog

标签: git commit undo git-amend


【解决方案1】:
git reset --soft "HEAD@{1}"
git commit -m "commit message"

HEAD@{1}means“查找HEAD在当前提交之前的位置”。您可以使用git refloggit show "HEAD@{1}" 验证它是否真的是之前的(未修改的)提交。

【讨论】:

  • 我做错了什么。我在 Eclipse 中使用了 git 终端,然后我切换到了普通的 git 控制台,最终我失去了几个课程。不确定到底发生了什么。
最近更新 更多