Git:从历史记录中删除提交树

Git:从历史记录中删除提交树,git,branch,commit,Git,Branch,Commit,我已经做了一些调整来修复我的回购协议,但这并没有真正起到作用 因此,我的回购协议目前看起来如下: C1 --- ... --- Z1 (no-branch) / A --- B --- C --- ... --- Z master 我现在有点迷路了。 我在我的主分支上有我需要的所有提交,所以我只想去掉C1到Z1。它们不在分支中,git分支——包含C1不显示任何内容,尽管像gitk和SourceTree这样的工具说存在这些提交

我已经做了一些调整来修复我的回购协议,但这并没有真正起到作用

因此,我的回购协议目前看起来如下:

              C1 --- ... --- Z1  (no-branch)
             /
A --- B --- C --- ... --- Z       master
我现在有点迷路了。
我在我的主分支上有我需要的所有提交,所以我只想去掉C1到Z1。它们不在分支中,
git分支——包含C1
不显示任何内容,尽管像gitk和SourceTree这样的工具说存在这些提交

如何修复回购协议?
谢谢

解决方案
我在从C1到Z1的树中的提交上有一些标记,因此,例如,
git prune
无法删除这些标记。查看git
show ref
我发现引用sha的标记在我的树中不存在。

你确定这些提交没有在任何地方被引用吗?试试看git show ref@IsmailBadawi是的,我确定<代码>git show ref,是否没有参数?同时查看
.git
下名为
HEAD
的所有文件的内容。@IsmailBadawi是的,你说得对!非常感谢,我花了一整天的时间在网上寻找解决方案,终于解决了这个问题。