Git 删除未连接到分支的提交

Git 删除未连接到分支的提交,git,Git,我想合并来自另一个回购协议的一些更改,所以我添加了远程、获取和合并。 但我不认为会增加另一个分支的承诺 我从合并中备份了一次提交,并手动添加了更改的文件,并推送了该提交 现在我在一个分支中有两个断开连接的提交树。 大概是这样的: A-B-C-D-master 1-2-3-4 我只想删除1-2-3-4提交。我不关心历史记录、任何子/父提交或文件。 我想保留A-B-C-D提交的所有历史记录 我试过: git reflog expire --expire-unreachable=now --all

我想合并来自另一个回购协议的一些更改,所以我添加了远程、获取和合并。 但我不认为会增加另一个分支的承诺

我从合并中备份了一次提交,并手动添加了更改的文件,并推送了该提交

现在我在一个分支中有两个断开连接的提交树。 大概是这样的:

A-B-C-D-master
1-2-3-4
我只想删除1-2-3-4提交。我不关心历史记录、任何子/父提交或文件。
我想保留A-B-C-D提交的所有历史记录

我试过:

git reflog expire --expire-unreachable=now --all
git gc --prune=all --aggressive

git rebase [hash]

但似乎什么都不管用

如果没有参考点指向
1
2
3
4
,则它们处于悬挂状态,将由
gc
移除
您还在哪里看到这些提交?

还有一些头或标签指向那些提交吗?

是的,当然我忘了删除标签。现在gc工作得很好。谢谢在我查找标记和分支时也为我工作过。