LoginSignup
0
1

More than 5 years have passed since last update.

git で、remote branch を消す。たとえば origin だけまとめて消す。

Last updated at Posted at 2017-05-24
$ git br -r | awk -F/ '/^[[:space:]]+origin/ {print $2}' \
| xargs git push --delete origin

awk の regex で \s とかが使えなかった。

追記1

長いけど、grepで絞った方がわかりやすいかとおもいました。

$ git br -r --merged | grep -e '\sorigin\/' | awk -F/ '{print $2}' \
| xargs git push --delete origin

追記2
<pattern> が使えました。この場合は --list の明示が必須です。

$ git branch -r --list 'origin/*' | awk -F/ '{print $2}' \
| xargs git push --delete origin

いまのところこれが一番すきです。

参考

補足

$ g push --delete origin test
error: unable to delete 'test': remote ref does not exist
error: failed to push some refs to 'git@github.com:mochizukikotaro/hoge.git'

こんなエラーになってしまったときは、以下。(リモートリポジトリで直接消すとこうなるらしい)

$  git remote prune origin
0
1
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
0
1