gitのリモートブランチを使って作業を行う流れのメモ
こんにちは加藤です。
分散バージョン管理システムのgitを本格的(?)に使い始めて1ヶ月くらいが経ちました。けれども未だに迷うことがあるため、リモートブランチを使った作業について簡単にまとめておきます。
想定環境
マシンA、マシンBで編集作業を行い、それらからアクセス可能な場所に連携用のリポジトリがある環境と想定します。
また、マシンA、マシンBでは既に連携用リポジトリをcloneしており、remotes/originが設定されていると想定します。
$ git clone <連携用リポジトリ>
マシンAでの作業
なんらかの作業をすることを思い立ったら、作業用のブランチを切ります。今回はworkingブランチとします。
$ git checkout -b working $ git branch master * working
各種作業を行います。
$ git status $ git add ... $ git commit ...
作業が完了したのであればマージしてプッシュするところですが、ブランチを切ったまま別のマシンで作業を継続したいため、workingブランチを連携用リポジトリにプッシュします。
$ git push origin working
マシンBでの作業
マシンAでの作業を継続するため、リポジトリの内容を取得します。もちろんfetchでも構いません。
$ git branch * master $ git pull --rebase
連携用リポジトリからworkingブランチを取得したことを確認します。
$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/working
ローカルにworkingブランチを作成します。また、workingブランチに移動したことを確認します。
$ git checkout -b working origin/working $ git branch master * working
各種作業を行います。
$ git status $ git add ... $ git commit ..
作業が完了したので、マージします。また、連携用リポジトリにプッシュします。
$ git checkout master $ git branch * master working $ git merge working $ git push
マージ完了後はブランチは不要なので、ローカルのブランチと、ローカルの追跡用ブランチ、そして連携用リポジトリのブランチを削除します。
$ git branch -d working $ git branch -r -d origin/working $ git push origin :working
以上、簡単なまとめでした。