2017-02-15 10 views
2

私はGerritを使用しています。私はよくgit review -d change-#を実行してチェンジセットをダウンロードします。これにより、フォーマットのの枝が1つ残されます。gitの/ refs/heads/review/*を削除してブランチを削除しても安全ですか?

rm -rf .git/refs/heads/reviewを実行してこれらを直接削除することは安全ですか? Gerritからコミットを取り戻すことができますが、私はローカルリポジトリを破損したくありません。

答えて

4

これは「安全」とは何ですか?

これらのブランチヘッドファイルを削除しても、Gitリポジトリは破損しません。しかし、いくつかのレビューブランチが "パックされて"(今は.git/packed-refsにある)場合、ブランチヘッドも削除されません。それが "安全な"ものであれば、それは安全です。 :-)(これらの参照のreflogも削除されません。そのようなreflogはレビューリクエストアイテムをGCしないよう保護します)各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 

を使用します。

+0

'git for-each-ref'。とてもかっこいい。 ところで、あなたはあなたの1ライナーで閉じる引用符がありません。私は編集しようとしましたが、編集は少なくとも6文字にする必要があります。 –

+0

@StephenRasku:固定、ありがとう。 – torek

関連する問題