削除されたremote branchが、CUIでは表示される…
GUIツールでは、消えてるのになぜ…? と気になったので、 リモートブランチの操作方法をまとめます!
■基本
■ちょい発展
1. リモートブランチの表示
1
2
3
4
5
$ git branch -a
* master
temp
remotes/origin/master
remotes/origin/temp
2. リモートブランチの削除
1
$ git push origin :temp
すると、リモートブランチの temp
が削除されます。
1
2
3
4
$ git branch -a
* master
temp
remotes/origin/master
3. リモートブランチを取り込む
複数人で開発している場合、 他の人がリモートにpushしたブランチを取り込みたい時に、以下のコマンドを実行します。
1
$ git fetch
ここで、git fetch
はリモートブランチを取ってくるだけです。
4. リモートに存在していないブランチを、自分のローカルからも削除したい
他の人が削除したはずのリモートブランチが、ローカルレポジトリでは表示される場合
1
2
3
4
5
$ git branch -a
* master
temp
remotes/origin/master
remotes/origin/other <= 実際のリモートブランチでは削除されてるのに、表示される!!
以下のコマンドを実行します。
1
2
$ git fetch --prune
x [deleted] (none) -> origin/other
remotes/origin/other
が無事削除されました!!
git fetch がリモートのものを取り込むだけ(削除されたブランチもローカルではそのまま)、 prune をオプションとして付けると、リモートで削除されたブランチも更新してくれます!
ちなみに、prune をデフォルト設定にもできるみたいです。
参考:http://hail2u.net/blog/software/git-config-fetch-prune.html