我正在使用Gerrit
,我经常通过git review -d change-#
下载更改集。这留下了大量review/user/topic
格式的分支。
执行rm -rf .git/refs/heads/review
直接删除这些内容是否安全。我知道我可以从Gerrit
获得提交,但我不想破坏本地存储库。
答案 0 :(得分:4)
这取决于您的意思" safe"。
删除那些分支头文件不会破坏Git存储库。但是,如果一些评论分支已被打包" (并且现在在.git/packed-refs
),它也不会删除那些分支头。如果这符合" safe",那么是的,它是安全的。 :-)(它也不会删除这些引用的任何reflog,并且在某种程度上更糟糕,因为这些reflog可能会保护审阅请求项不被GC。)
更好的方法是在每个git branch -D
上使用review/user/topic
,这将删除引用refs/heads/review/user/topic
和任何关联的reflog,无论分支是否已打包。要枚举这些主题,请使用git for-each-ref
:
git for-each-ref --format='%(refname:short)' refs/heads/review | xargs git branch -D
例如。