[解決済み] 現在のブランチ以外のローカルブランチをすべて削除することはできますか?
2022-08-01 14:23:56
質問
私は、...の出力に表示されるすべてのブランチを削除したいです。
$ git branch
...ただし、現在のブランチを維持します。 一歩で . それは可能ですか? もし可能なら、どのように?
どのように解決するのですか?
pankijsさんの回答を元に、gitのエイリアスを2つ作りました。
[alias]
# Delete all local branches but master and the current one, only if they are fully merged with master.
br-delete-useless = "!f(){\
git branch | grep -v "master" | grep -v ^* | xargs git branch -d;\
}; f"
# Delete all local branches but master and the current one.
br-delete-useless-force = "!f(){\
git branch | grep -v "master" | grep -v ^* | xargs git branch -D;\
}; f"
で追加される
~/.gitconfig
また、@torek さんのご指摘のように
なお、小文字の
-d
は、完全にはマージされていないブランチを削除しないことに注意してください(ドキュメントを参照)。使用方法-D
を使うと、そのようなブランチを削除します。 たとえそれがコミットを失わせるものであっても。 を慎重に使ってください。 ブランチの reflog も削除してしまうので、通常の "recover from accidental deletion" は機能しません。
基本的に
-force
バージョンは、重要なものを失わないという 300% の確信がない場合は、決して使用しないでください。なぜなら、失われるのは
永遠に
.
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] git rebase の取り消し
-
[解決済み] マージされたGitブランチをすべて削除するにはどうすればよいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】既存の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 はファイル名の大文字と小文字を無視し、修正する
-
Git: bash: cd: 引数が多すぎる
-
[解決済み] マージされたGitブランチをすべて削除するにはどうすればよいですか?
-
[解決済み] ローカルのgitブランチをすべて削除
-
git push issues
-
git reports an error fatal: unable to auto-detect email address (got 'Administrator@MS-20180504MMDH.(none)')
-
Gitのコミットでfatal: unable to auto-detect email addressのエラーが報告される。
-
[解決済み] 新サーバーへのGitプッシュ/クローン
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] gitで、stashを適用せずに、追跡されていないstashedファイルを表示する方法はありますか?