git - 删除未连接到分支的提交

标签 git

我想 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 , 34 ,它们是悬空的,将被 gc 删除.
你还能在哪里看到那些提交?
还有一些头或标签指向这些提交吗?

关于git - 删除未连接到分支的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39142262/

相关文章:

git - 如何在Visual Studio中从远程服务器查看新的GIT分支?

git - 是否可以在 .gitconfig 中为每个通配符域配置 user.name 和 user.email?

git - Laravel 5 - 卡在工匠清晰编译和 Composer 更新之间

git - 我应该如何将 git-flow 范例应用到我的项目中?

Git flow 工作流程 - 修补程序与分支权限冲突

php - Git - 每个开发人员多台机器 - 跨机器提交但不提交到主分支

git - 恢复特定的旧提交

Git - 文件 .idx 和 .pack 的取消链接失败(该文件的唯一进程拥有句柄是 git.exe)

规范化后的 Git 行尾

linux - 从 git pull 时无法识别符号链接(symbolic link)