我创建了一个分支,我正在尝试解决一个无法解决的问题,所以我想删除分支,包括我在其上做的所有提交。为了论证,我的分支看起来像这样(当用Gitk查看时):
A--B--C--D Master
\
\-E-F Unwanted
我希望它看起来像这样:
A--B--C--D Master
如果我删除了不需要的分支,我最终会改为:
A--B--C--D Master
\
\-E-F
我对提交E和F没有用处,也不希望它们混乱我的Git历史。
对于看起来很简单(也可能是愚蠢)的问题道歉,但我一直无法在其他地方找到合适的答案。
答案 0 :(得分:5)
不,这就是你所做的一切。只要E和F未在任何分支或标记中引用,它们最终将被垃圾收集。我假设你在gitk中看到它仍然看到提交挂出。如果你重新启动gitk或用Ctrl + F5强行重新加载,它们就会消失。他们还在那里,但是git最终会照顾他们。虽然你可以强迫他们立即清理,但这并不是一个好习惯。孤立提交的默认生存时间是2周,因为只有有时你真的 想要那些提交,而你还不知道它,所以让他们成为孤儿并继续前进。
答案 1 :(得分:3)
如果您运行git gc
,当它们超过某个阈值(2周)时,它会删除未引用的分支(F
,假设您没有标记它或从中派生其他分支)默认,您可以使用--prune=<date>
)进行调整。