我在rebase之后解决了巨大的合并冲突,错误地运行了git commit --amend
而不是git commit
。
现在git认为先前的提交已完成所有更改。
有没有办法撤消git commit --amend
并在合并后获取我所有更改的索引?
答案 0 :(得分:4)
如果我的说明中写错了,请先复印一份你的回购。
你已经修改了你的提交,所以原来未经修改的提交仍然在树中的某个地方,尽管没有分支点。
您可以使用以下方法之一找回它:
git fsck --lost-found
git reflog
然后您可以重置回此提交。重新设置 soft 只会让您指向该提交并保持文件不变,重置 hard 将擦除所有更改(以及您正在解决的合并冲突):
git reset [--hard|--soft] <your_commit_hash>
答案 1 :(得分:1)
做git revert 如需进一步的帮助,请查看:https://www.atlassian.com/git/tutorials/undoing-changes/git-revert