我在 rebase 后解决了巨大的 merge 冲突并错误地运行了 git commit --amend
而不是git commit
.
现在 git 认为之前的提交包含了我所有的更改。
有没有办法撤消git commit --amend
并在 merge 后索引我的所有更改?
最佳答案
首先获取您的存储库的副本,以防我在说明中写下任何错误的内容。
您已经修改了提交,因此原始未修改的提交仍然位于树中的某个位置,尽管没有分支指向它。
您可能可以使用以下方法之一找回它:
git fsck --lost-found
git reflog
然后您可以重置回此提交。重置软只会让您指向该提交,并且不会更改您的文件,重置硬将删除所有更改(以及您正在解决的 merge 冲突):
git reset [--hard|--soft] <your_commit_hash>
关于git - 撤消 git commit amend 并保留索引中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37723578/