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