概要
実務で最近よく使うgit操作について書いていきます。
個人的なメモも兼ねての投稿です!
先輩「このブランチで作業してください〜」
既存のブランチをローカルに反映させれば良いので、下記コマンドを入力します。
$ git fetch
$ git checkout -b hoge origin/hoge
メモ
git fetch
リモートブランチの最新情報を取得するコマンドです。
リモートブランチの情報が取得できていれば行わなくてもよいですが、
個人的には確認がめんどくさいので、毎回やってます。
git checkout -b hoge origin/hoge
origin/をつけてあげることで、リモートブランチ側と紐づかれます。
先輩「このブランチから切ってください〜」
ポートフォリオでは、masterと作業ブランチといった感じでした。
実務では、それ以外にもブランチが存在します。
確実にブランチを切るために、githubからこの作業は行っています。
例として、sample1ブランチから切るとしましょう。
【手順】
①指定されたブランチを選択します
②任意のブランチ名をつけます
③from ''が指定されたブランチになっていることを確認し、create branchをクリックします。
そして、git fetchすると以下のように表示されます
From http://Github.com/hogehoge/git_app
* [new branch] hogehoge-fix -> origin/hogehoge-fix
そのまま下記コマンドを入力して完了します。
$ git checkout -b hoge origin/hoge
メモ
プルリクを出すとき、マージ先のブランチがどこになっているか確認した方が良いです。
今回の例で言うと、sample1ブランチにマージするプルリクを出しますが、
特に確認せず出すと、マージ先がdefaultのブランチになってしまいます。
(それをしてヤンキーなプルリクだったと言われました・・笑)
先輩「コンフリクト起きているので解消してください〜」
プルリクを出した時に、起こります。
原因は修正箇所がかぶってしまったなどなど。
対処としては、
- マージ先のブランチの最新情報をローカルに取り込む
- 作業ブランチに移動して、git mergeする
- 対象ファイルにコンフリクトしている内容が表示される。
# マージ先のブランチにて
$ git pull origin HEAD
# 作業ブランチへ移動
$ git checkout 作業中のブランチ名
# マージ先のブランチの最新情報を取り込む
$ git merge マージ先のブランチ名
メモ
修正する時、コンフリクトしている内容を消して良いかどうかわからないときは
素直に先輩に聞くようにしています。
もしかしたら必要なコードの可能性は大いにあり得るので!