[解決済み] マージされたGitブランチをすべて削除するにはどうすればよいですか?
2022-03-18 04:16:21
質問
Gitのブランチをたくさん持っています。すでにマージされたブランチはどのように削除すればよいのですか?ひとつひとつ削除するのではなく、すべてを簡単に削除する方法はありますか?
解決方法を教えてください。
UPDATEしてください。
ワークフローに先祖の可能性がある場合、master や dev などの他のブランチを除外するために追加することができます。通常、私は "sprint-start" タグから分岐させ、master、dev、qa は祖先にはなりません。
まず、リモートでマージされたローカル追跡ブランチをリストアップします(他の回答で提案されているように、リモート追跡ブランチをすべてリストアップするために -r フラグを使用することを考慮してもよいでしょう)。
git branch --merged
master や develop など、削除したくない重要なブランチをスキップするために、いくつかの引数を追加できます。次のコマンドは、master ブランチと dev ブランチが含まれるブランチをスキップします。
git branch --merged| egrep -v "(^\*|master|main|dev)"
スキップしたい場合は、以下のようにegrepコマンドに追加します。ブランチの
skip_branch_name
は削除されません。
git branch --merged| egrep -v "(^\*|master|main|dev|skip_branch_name)"
現在チェックアウトされているブランチにすでにマージされているローカルブランチをすべて削除するには。
git branch --merged | egrep -v "(^\*|master|main|dev)" | xargs git branch -d
masterとdevは先祖に当たるので除外されているのがわかります。
でマージされたローカルブランチを削除することができます。
git branch -d branchname
マージされていない場合は、使用します。
git branch -D branchname
リモート使用から削除する場合。
git push --delete origin branchname
git push origin :branchname # for really old git
リモートからブランチを削除したら、プルーニングでリモート追跡ブランチを取り除くことができます。
git remote prune origin
で、個々のリモートトラッキングブランチを刈り込むか、他の回答が示すように。
git branch -dr branchname
関連
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] GitHubでフォークされたリポジトリを更新または同期するにはどうすればよいですか?
-
[解決済み] リモートタグを削除する方法を教えてください。
-
[解決済み] git rebase の取り消し
-
[解決済み] ステージングされた変更を表示するにはどうしたらいいですか?
-
[解決済み] Git リポジトリからファイルを削除するにはどうすればよいですか?
-
[解決済み] すべてのGitブランチを取得する方法
-
[解決済み] Git のブランチの一覧を最新のコミット順に表示するにはどうしたらよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】マージの競合が発生した git stash pop の取り消し
-
[解決済み】git rev-parseは何をするのですか?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] リモートにないトラッキングブランチを削除
-
[解決済み] リモート上に存在しないローカル追跡ブランチをプルーニングする方法
-
[解決済み] Git リモートブランチを削除しても 'branch -a' に表示される
-
[解決済み] 削除されたリモートブランチでオリジンからフェッチしますか?
-
[解決済み] リモートリポジトリでGitブランチを削除した後に、ローカルでGitブランチを削除する