Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

git fetchで溜まった不要リポジトリ群は-pオプションで消える

git fetch --allでリモートブランチを引っ張ってくると、
そのうち不要ブランチ群のデススタックで引っ張りたい奴がどれだか分からなくなる愉快な事態が発生します。

そこで役立つのが-pオプション。
不要になった奴を消し去ってくれます。

$ git fetch -p
 x [deleted]         (none)     -> origin/f/a
 x [deleted]         (none)     -> origin/f/b
 x [deleted]         (none)     -> origin/f/c
 x [deleted]         (none)     -> origin/f/d
 x [deleted]         (none)     -> origin/fix/foo
 x [deleted]         (none)     -> origin/fix/bar
 x [deleted]         (none)     -> origin/ref/hoge
 x [deleted]         (none)     -> origin/ref/piyo

$ git branch -a
  develop
* f/e
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/f/e
  remotes/origin/master

allと合わせて使う

横着して、--allオプションと合わせて使うこともできます。

$ git fetch --all -p
$ git fetch --all -p
Fetching origin
remote: Counting objects: 113, done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 35 (delta 30), reused 0 (delta 0)
Unpacking objects: 100% (35/35), done.
From bitbucket.org:foo/bar
   aaaaaaa..bbbbbbb  develop    -> origin/develop
   ccccccc..ddddddd  f/e      -> origin/f/e
 x [deleted]         (none)     -> origin/f/a
 x [deleted]         (none)     -> origin/f/b
 x [deleted]         (none)     -> origin/f/c
 x [deleted]         (none)     -> origin/f/d
 x [deleted]         (none)     -> origin/fix/foo
 x [deleted]         (none)     -> origin/fix/bar
 x [deleted]         (none)     -> origin/ref/hoge
 x [deleted]         (none)     -> origin/ref/piyo

理解したら手癖として覚えておくなり、
エイリアスを貼ると幸せになれるかもしれません。

参考もと

編集

  • 2014/03/04 allオプション周りを補強