繁体   English   中英

删除包含其提交的分支

[英]Remove a branch including its commits

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

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

我希望它看起来像这样:

A--B--C--D Master

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

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

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

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

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

如果你运行git gc它会删除未引用的分支(这F是,假设你没有标签或从中获得其他分支机构),当他们超过一定的阈值(2周默认的年龄大了,你可以调整它--prune=<date> )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM