gitのbranchを複数環境から作業する場合に必要となるコマンドのメモ
これまでgitを複数環境から使用する場合にリポジトリをcloneして
pushとpullのみで作業(常にmasterブランチへcomit)していた。
最近はbranchを使い始めたので、その際に必要となるコマンド等をメモ。
ローカルに新しいブランチ(hogehoge)を作成し新しいブランチへ切り替える
1 2 |
$ git checkout -b hogehoge |
remoteリポジトリにhogehogeブランチ をpushする
1 2 |
$ git push -u origin hogehoge |
-u オプションを付けると、以降のpush/pull時にブランチ含めてリモートに同期される。
すべてのブランチ一覧を表示
1 2 |
$ git branch -a |
ブランチでの作業が終わり、ブランチhogehogeをmasterにマージする
1 2 3 |
$ git checkout master $ git merge hogehoge |
マージ後に不要となったブランチの削除
1 2 |
$ git branch -d hogehoge |
マージしていないブランチの場合は削除できない。
また、複数環境で作業している場合にリモートで消されたブランチがローカルに残っている場合がある。
ブランチが残っている場合の例
1 2 3 4 |
$ git branch -a * master remotes/origin/hogehoge |
(cloneしてきたリポジトリでは、remotes/origin/xxxという名前でoriginのブランチが参照される)
他の人がhogehogeブランチを削除してoriginにpushしても、
既にそのブランチが手元にある人のローカルリポジトリからは普通にpullしても消えてくれない。
そういった既にリモートで削除されているブランチを消したい場合は、git pullにpruneオプションをつける
1 2 |
$ git pull --prune |
(–pruneオプションをつけると、fetchやpullする際に自動的にリモートで削除されているブランチが削除される)