Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
331
Help us understand the problem. What is going on with this article?
@hajimeni

Gitでマージ済みブランチを一括削除

More than 1 year has passed since last update.

目的

Gitのブランチはマージしても消えてくれないので定期的に掃除しないとゴミが残ってうざい。
というわけで、さくっと消す方法。

ローカルでマージ済みブランチの一覧を表示

git branch --merged

※消したいのは↑で出てきたブランチ一覧。

一括削除

git branch --merged|egrep -v '\*|develop|master'|xargs git branch -d

※develop と master は消さないようにしています。
※これでスッキリしますが、毎回これ書くのは辛い。

.gitconfig にalias

.gitconfigに以下を追加

[alias]
       delete-merged-branch = "!f () { git checkout $1; git branch --merged|egrep -v '\*|develop|master'|xargs git branch -d; };f"

これで、 git delete-merged-branch develop とやると`
1. developにcheckoutし、
2. merge済みブランチを一括削除

します。

delete-merged-branch はaliasなので好きな名前をつければいいです。
また、変数にしていますが、developと指定した箇所はmasterや好きなブランチ名をいれれます。

複数の機能をまとめたFeatureブランチとかで利用できます。
e.g.) git delete-merged-branch hoge-features

補足

リモートブランチを消しても、git branch -a で出てくるリモート追跡ブランチを消す方法

git fetch --prune

331
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
hajimeni
渋谷の片隅でじゃばじゃば泳いでるだけの人だよ。 Java/Scala/Golang/Python/AWS/GCP/Docker/RDB/NoSQL/BigDataなど大体なんでも。 最近はスクラムマスター

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
331
Help us understand the problem. What is going on with this article?