Webサービスやアプリ開発の現場では必須のバージョン管理システム「Git(ギット)」。Gitは、専用のソフトを使えばクリックで直感的に操作することもできますが、いざというときにコマンドが使えると便利です。
前回の第16話では、複数のGitアカウントを使い分ける方法について学びました。
・メインで使うアカウントを設定する(グローバル設定)
$ git config --global user.email. "wakaba@example.com"
・サブで使うアカウントを設定する(リポジトリごとの設定)
$ git config user.email "wakaba2@example.com"
今回の第17話では、すでに消されたリモートリポジトリのブランチを、ローカルリポジトリでも一気に消してくれる「prune(プルーン)」オプションについて学びます。このマンガを通して、わかばちゃんと一緒にGitの知識を身につけていきましょう!
すでに消されたリモートリポジトリのブランチを、ローカルリポジトリでも根絶やしにしたい
prune オプションの使い方
prune オプションの使い方は次のとおりです。 いずれのコマンドでも、すでに消されたブランチをローカルリポジトリに反映できます。
prune オプションを使ってみる
例として、わかばちゃんのローカルリポジトリから見たブランチ一覧が次のようになっていたとします。
* master
remotes/origin/HEAD -> origin/master
remotes/origin/fix_css
remotes/origin/fix_images
remotes/origin/master
ここで、エルマスさんが、マージ済みのブランチ fix_css、fix_image を削除して、それぞれリモートリポジトリに削除を反映するためにプッシュしたとします。
$ git push origin :fix_css
$ git push origin :fix_image
この状態では、わかばちゃんのローカルリポジトリには削除が反映されていません。ひとつひとつ消すこともできますが、それでは面倒なので、pruneで一掃してしまいましょう。
もしくは、次のコマンドでも同様に一掃できます。
出力結果は次のとおりです。リモート追跡ブランチを消していますね。
ちゃんと消せたのか、確認してみましょう。
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
見事、リモートリポジトリで消されたブランチをローカルリポジトリでも一気に削除することができました。
まとめ
今回は、prune オプションの使い方について学びました。
いずれのコマンドでも、すでに消されたブランチをローカルリポジトリに反映することができます。
Gitにはまだまだたくさんのコマンドがあります。 次回は、コミットにタグをつける方法を学びましょう。
▼わかばちゃんが登場する書籍
▼ これまでの「マンガでわかるGit」
第2話「ブランチの概念」
第3話「マージの仕組み」
第4話「コンフリクトの修正」
第5話「git revert」
第6話「git reset 3種類」
第7話「git reflog」
第8話「git switchとgit restore」
第9話「git diff」
第10話「git cherry-pick」
第11話「git stash」
第12話「git grep」
第13話「git blame」
第14話「git remote」
第15話「.gitconfig でコマンドを短縮」
第16話「.gitconfig と .git/config で複数のGitアカウントを使い分ける」
第17話「prune オプション」
第18話「git tag」
第19話「detached HEAD 状態って何?」