假设我在基于feature1
的名为master
的本地存储库中创建了一个分支,并添加了一个或两个提交。然后我切换回master
并确定feature1
不会成功并删除分支。
我认为分支基本上是一个"指针"到特定的提交对象。
现在回答实际问题。
git checkout SHA1-HERE
)?是否有某种"保留政策"这将删除不属于任何现有分支历史或标记的提交(不确定在这里使用正确的术语......)?这个问题的原因:我目前正在开展一个receive.denyNonFastForwards
强制实施的项目,因为它避免丢失任何承诺的工作(我怀疑receive.denyDeletes
也是强制执行的)。我想确保没有更好的方法来保存已经完成但没有合并的工作,并且能够清理旧的分支以避免混乱。
答案 0 :(得分:5)
默认为90天:
gc.reflogexpire
gc.<pattern>.reflogexpire
git reflog expire
删除比此时更早的reflog条目;默认为90天。设置中间带有“<pattern>
”(例如“refs/stash
”),此设置仅适用于与<pattern>
匹配的参考号。
所以: