gitを初めて触ってから2年ほど経ちますが、ほぼ個人開発でしか使っていなかったということもありチーム開発でのgitにまだ慣れておらず、1つ1つのコマンドに緊張してしまいます。
ということで自分のためのまとめ。内容はかなり基本的なことです。
現在のブランチを確認する
とにかく自分が今いるブランチを確認しないといけません。
何か作業する前にとにかく確認。うっかり別のブランチで作業を進めると後ですごい手間です。。
git branch -a
ローカルブランチと追跡ブランチが表示されます。
今いるブランチには アスタリスク * がついているので分かります。
リモートの状態と合わせる
リモートブランチとの差分を確認する
リモート(githubやbitbucket)のブランチとの差分を確認したい場合、
まず追跡ブランチを最新の状態にします。
そのコマンドがこれ
git fetch
この段階ではまだローカルリポジトリには反映されていないです。追跡ブランチを最新にしただけ。
それから差分を確認します。
現在いるローカルブランチとの差分を見たい場合
git diff remotes/origin/master
remotes/origin/master の部分はリモートブランチ名が入るので、環境に合わせて変更ください。
ローカルブランチ名も指定したい場合は、
git diff ローカルブランチ名 リモートブランチ名
とします。
差分がない場合は何も表示されません。
マージする
fetchして差分を確認したら、あとはマージを行います。
git merge
ただ私自身マージはあまり使ったことがなくて、大抵fetchとmergeを同時にしてくれる
git pull
を使っています。
その辺は現場の方針に合わせるといいかと。
ローカルからリモートへpushまで
ここまでが問題なく済めば、やっと開発スタートです。
開発用ブランチを切る
masterや他のブランチで勝手に作業してしまっては大変なので、まず自分用のブランチを切ります。
親ブランチに移動
git checkout 移動したいブランチ名
新しいブランチを生やすのはmasterからではなく、develop、stagingブランチからということも多いのでは。
なのでまずは親ブランチに移動します。
生やしたい親ブランチに移動したら、開発用ブランチを切ります。
git checkout -b 新しいブランチ名
-b オプションをつけると新しく作ったブランチに移動もしてくれます。
一応、git branch で現在地を確認することをおすすめします。
開発する
add,commit,リモートにpushまで行います。これは個人開発でもよくやってたことなので割愛。
リモートで新しい変更がマージされる
自分が開発・pushした内容にOKが出て親ブランチにマージされたあと、
ローカル(自分のPC側)でも変更を反映させます。
check outで親ブランチに移動して、git pullをすればOK!