LoginSignup
5
5

More than 5 years have passed since last update.

【俺用メモ】gitでたまに使う程度なので忘れるコマンド

Last updated at Posted at 2016-02-02

削除

ローカルブランチ

git branch -d branch_name

mergeしてないブランチだったりするとerrorが起きて本当に消していいなら-Dオプション使えよ、ってメッセージが出ます。

リモートブランチ

git 1.7.0以降なら

git push --delete origin branch_name 

バージョンを問わない場合は

git push origin :branch_name

なんでコロンで削除になるのか?
今さら聞けないgit pushコマンド - Shoichi Matsuda's diary

「何もないものをリモートのhogeにpushする = hogeの存在を何もないものにする = hogeを削除」です。

すごく参考になる…。

merge済みリモートブランチをまとめて削除

コマンドをパイプで組み合わせてやります。

  1. hogeにmerge済みのリモートブランチを表示
  2. origin/の状態になっているのでorigin/をトリミング
  3. ブランチ名が取り出せたのでxargsに渡して削除していく
  4. 上記のコマンド群をつないで実行
1. git branch -r --merged hoge
2. sed -e 's% *origin/%%'
3. xargs -I{} git push --delete origin {}
-- ↓これが4
$ git branch -r --merged hoge | sed -e 's% *origin/%%' | xargs -I{} git push --delete origin {}

これを実運用するときに注意したいのは、手順1でマージ済み一覧を表示する際に、hogeがmasterを取り込んでいる場合にmasterにすでにmerge済みのものも出てくること。
mergeしたまま残しておきたいというブランチがいるかもしれないので目視で消していいかどうか確認する必要があった。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5