我想 merge 来自另一个 repo 的一些更改,所以我添加了远程、获取和 merge 。
但我没想到会添加另一个分支的提交。
我从我的 merge 中支持一个提交并手动添加更改的文件并推送该提交。
所以现在我在一个分支中有两个断开连接的提交树。
像这样的东西:
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]
但似乎没有任何效果。
最佳答案
如果没有 ref 指向 1
, 2
, 3
和 4
,它们是悬空的,将被 gc
删除.
你还能在哪里看到那些提交?
还有一些头或标签指向这些提交吗?
关于git - 删除未连接到分支的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39142262/