我有一个本地项目和对应的Github仓库。我有一些提交记录:
A <- B <- C <- D
最新的是A。
这种情况在两个存储库中都存在。我想要删除提交C,就像它从未发生过一样。
因此,在git log
上应该像这样。
A <- B <- D
在两个代码库上都需要进行操作。
我尝试了git reset --soft <sha-commit-C>
,但现在卡住了。我看不到A, B
。在进一步操作之前,我想要完全确定自己的所作所为。
git reflog
给出如下反馈:
git reflog
73ea54d HEAD@{0}: reset: moving to 73ea54d8
a594699 HEAD@{1}: rebase -i (finish): returning to refs/heads/unique_ptr_release
a594699 HEAD@{2}: checkout: moving from unique_ptr_release to a594699fb6f7d85bc8
a594699 HEAD@{3}: checkout: moving from unique_ptr_release to unique_ptr_release
a594699 HEAD@{4}: commit (merge): Merge branch 'master' into unique_ptr_release
HEAD@{4}
是在执行 reset --soft
命令之前我的 HEAD 所指向的位置。
我该如何摆脱这种情况?
.git
文件夹。 - mnagel