こんにちは、さるまりんです。
開発するにあたり履歴を管理することは大切ですよね。gitでバージョン管理をしているのですが、いろんな作業を続けるにあたり必要のないブランチが増えてきます。これを消す方法をメモしておきます。
ローカルブランチを削除
まずはローカルの作業です。
ローカルブランチの一覧を表示
最初にどんなブランチがあるを確認です。ローカルブランチの一覧をみるには
git branch
のコマンドを実行します。
実行例です。
$ git branch
master
development
development-v2
feature/XXX
feature/YYY
ブランチの一覧から削除したいブランチを特定したら次は削除です。
ローカルブランチの削除
ローカルブランチfeature/XXX
を削除するには次のようにコマンドをを実行します。
git branch --delete feature/XXX
実行例です。
$ git branch --delete feature/XXX
Deleted branch feature/XXX (was xxxxxxxxx).
これでローカルブランチfeature/XXX
は削除されています。
では、別のブランチfeature/YYY
を削除してみます。
$ git branch --delete feature/YYY
error: The branch 'feature/YYY' is not fully merged.
If you are sure you want to delete it, run 'git branch -D feature/YYY'
怒られた!
HEAD
にマージされていないブランチは上のコマンドで消そうとすると怒られるようです。
マージしてからなら同じコマンドで削除することができます。
マージしてなくても構わない。もうこのブランチはローカルに必要ないという場合は次のコマンドでHEAD
にマージしているか否か関係なく削除することができます。
git branch -D feature/YYY
実行例です。
$ git branch -D feature/YYY
Deleted branch feature/YYY (was yyyyyyyyy).
無事削除できました。ローカルブランチの削除はこれで大丈夫ですね。
リモートブランチを削除
リモートブランチも整理する必要がりますね。
リモートブランチの一覧を表示
リモートブランチの一覧をみるにはこれです。
git branch --remote
実行するとこのように表示されます。
$ git branch --remote
origin/HEAD -> origin/master
origin/development
origin/development-v2
origin/feature/XXX
origin/feature/YYY
ローカルとさほど変わりませんね。origin/
が付いてるくらいです。
で、削除するブランチを特定し、リモートブランチを削除です。
リモートブランチの削除
リモートブランチは次のように削除します。
git push --delete origin feature/XXX
実行例です。
$ git push --delete origin feature/XXX
To github.com:xxxxxxxx/xxxxxxxx.git
- [deleted] feature/XXX
これでOKです。
GitHubでやってます。それ以外のgitだとちょっと違うかもです。
たまには整理しないと、わけがわからなくなるので、できればこまめにやりたいですね。
整理整頓されてるってきもちいですね〜。快適な開発ライフを。
読んでくださってありがとうございます。
それではまた!