git会修剪一个无分支但是被标记的提交吗?

问题描述:

从我的理解中,git会偶尔删减任何分支无法访问的提交。但是,即使它们有标签,它是否仍然会删除这些提交?git会修剪一个无分支但是被标记的提交吗?

我正在考虑做一些提交和标记它们,但只有一次提交,所以没有必要为它们附加分支。

不,它不会删除任何由分支,标记,索引等或这些提交的父代引用的提交。请参阅help page的“注释”部分git gc

git gc非常努力地保护它收集到的垃圾。尤其是,它不仅会保存由你当前的一组分支和标记引用的对象,还会保存由索引引用的对象,远程跟踪分支,由ref/original /中的git filter-branch保存的引用,或reflogs(可能会引用在稍后修改或倒带的分支中提交)。

如果您希望收集某些对象而不收集这些对象,请检查所有这些位置,并确定在您的情况下删除这些引用是否有意义。

号的任何承诺即从任何 REF(分支,标签,甚至藏匿)访问,或到达及物动词(即所有他们的父母),都被垃圾收集,只要这些指针到安全提交存在。

如果您可以通过名为的引用达成您的提交,无论其类型如何,您都可以确定它及其完整历史记录可用,并将保留在存储库中。