2
我正在使用Gerrit
,我經常通過做git review -d change-#
下載更改集。這留下了大量review/user/topic
格式的分支。刪除/ refs/heads/review/*在git中刪除分支是否安全?
安全地通過做rm -rf .git/refs/heads/review
直接刪除這些。我知道我可以從Gerrit
獲得提交,但我不想破壞本地存儲庫。
我正在使用Gerrit
,我經常通過做git review -d change-#
下載更改集。這留下了大量review/user/topic
格式的分支。刪除/ refs/heads/review/*在git中刪除分支是否安全?
安全地通過做rm -rf .git/refs/heads/review
直接刪除這些。我知道我可以從Gerrit
獲得提交,但我不想破壞本地存儲庫。
這取決於你的意思是「安全」。
刪除這些分支頭文件不會損壞Git存儲庫。但是如果某些評論分支已經「打包」(現在在.git/packed-refs
),它也不會刪除這些分支頭。如果這符合「安全」的條件,那麼是的,這是安全的。 :-)(它也不會刪除這些引用的任何推薦日誌,並且這在某種程度上更糟糕,因爲這些引用日誌可以保護回顧請求項目不被GCed。)
更好的方法是使用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
例如。
'git for-each-ref'。很酷。 順便說一句,你錯過了你的一行結束報價。我試圖編輯它,但編輯至少需要6個字符。 –
@StephenRasku:固定,謝謝。 – torek