今更感がありますが自分の中での再認識用メモです。
※ もし間違っていることがあればコメントください!
リモートブランチ(github上に存在するもの)とローカルブランチ(git pull してきた remotes/[repository]/[branch])、作業用ブランチ(git branch -b 作業ブランチ origin/[branch])がありますが、
作業ブランチを削除する際は
(master)$ git branch -d 作業ブランチ
これだとローカルブランチは残った状態。。
ローカルブランチとリモートブランチを削除するとき
(master)$ git push origin :消したいリモートブランチ
けど、今までgit pullしてきた余分なローカルブランチの消し方or消して良いのかどうか分からない。。
また、よくgithubのPR上でマージ + リモートブランチの削除をすると、
ローカルブランチだけが残るときがあります。
そういう時は、
(master)$ git fetch --prune
(master)$ git fetch -p #とも省略できる
このコマンドを実行することで、リモートブランチに存在しないローカルブランチを一斉に削除してくれます。
git pull
pull = fetch + merge
なので、勝手にマージされちゃって困るときもあると思います。
そんな時はgit fetch
(master)$ git fetch
とやってやると fetch + merge を自動的に行われず
ローカルブランチだけ更新されます
また
(master)$ git fetch origin
(master)$ git fetch origin 対象リモートブランチ
ともできます。