删除包含其提交的分支

时间:2013-03-05 01:24:18

标签: git gitk

我创建了一个分支,我正在尝试解决一个无法解决的问题,所以我想删除分支,包括我在其上做的所有提交。为了论证,我的分支看起来像这样(当用Gitk查看时):

A--B--C--D Master
    \
     \-E-F Unwanted

我希望它看起来像这样:

A--B--C--D Master

如果我删除了不需要的分支,我最终会改为:

A--B--C--D Master
    \
     \-E-F

我对提交E和F没有用处,也不希望它们混乱我的Git历史。

对于看起来很简单(也可能是愚蠢)的问题道歉,但我一直无法在其他地方找到合适的答案。

2 个答案:

答案 0 :(得分:5)

不,这就是你所做的一切。只要E和F未在任何分支或标记中引用,它们最终将被垃圾收集。我假设你在gitk中看到它仍然看到提交挂出。如果你重新启动gitk或用Ctrl + F5强行重新加载,它们就会消失。他们还在那里,但是git最终会照顾他们。虽然你可以强迫他们立即清理,但这并不是一个好习惯。孤立提交的默认生存时间是2周,因为只有有时你真的 想要那些提交,而你还不知道它,所以让他们成为孤儿并继续前进。

答案 1 :(得分:3)

如果您运行git gc,当它们超过某个阈值(2周)时,它会删除未引用的分支(F,假设您没有标记它或从中派生其他分支)默认,您可以使用--prune=<date>)进行调整。

相关问题