删除包含其提交的分支

JBe*_*ley 2 git gitk

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

A--B--C--D Master
    \
     \-E-F Unwanted
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

A--B--C--D Master
Run Code Online (Sandbox Code Playgroud)

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

A--B--C--D Master
    \
     \-E-F
Run Code Online (Sandbox Code Playgroud)

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

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

Rya*_*art 5

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