2

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

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

我希望它看起来像这样:

A--B--C--D Master

如果我删除了不需要的分支,我最终会得到这个:

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

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

抱歉,这似乎是一个非常简单(而且可能很愚蠢)的问题,但我一直无法在其他地方找到合适的答案。

4

2 回答 2

5

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

于 2013-03-05T01:25:17.257 回答
3

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

于 2013-03-05T01:25:27.537 回答