#はじめに
最近、githubを使って開発する時の流れを聞かれることが多かったのそのことについて話していこと思います。
#目次
- GitHubからclone
- issueを書く
- ローカル上でbranch作成
- GitHubでPull Requestからmasterにマージ
- さいごに
#GitHubからclone
チームで開発をしている時や、自分でリポジトリを作成した後はまず最初にローカル上にリモート上のリポジトリを持ってくるところからスタートします。
GitHub上のリモートリポジトリの緑のCodeの部分を押すとこのような画面になるのでhttps://..から始まるURLをコピーします。(Download ZIPを押すとZIPファイルで落としてくることが出来ます)
コピーした後にローカル上でgitを開いてcloneします。今回は、Git Bashを使用します。
$ git clone リポジトリのURL名
これで、自分のローカル上にリモートのリポジトリを持ってくることが出来ました。
#issueを書く
次に、必要な機能や気になるバグなどを見つけた時には、issueに書くといったクセをつけるようにしましょう。ここの部分を直して欲しいと口頭で伝える人もいるのですが、そんな時もisseuで書いてと言うよにしましょう。
このようにissueはタイトルと詳細な内容を書くことが出来ます。タイトルは簡潔に分かりやすいように、詳細な内容は詳しく書きたいことがある時に書きます。
issueを書くと、下記の画像の**#番号**のような番号が発行されます。次のbranch作成の時に必要になってきます。
#ローカル上でbranch作成
issueを書いた後に、ローカル上で作業を進め機能を追加した後にリモート上にあげる作業に入ります。最初に、branchを作成します。
$ git branch ブランチ名
これでbranchが作成されます。また、branchの命名規則は先ほどのissue番号を使用するようにします。
feature/#22_add_customer_delete
featureは機能を追加するといった意味になります。また、hotfixはバグを修正するといった意味になります。#22は先ほどissueを書いた時に発行された番号を書きます。こうすることによりこのbranchはこのissueですよと結びつけることが出来ます。番号の後は、add,remove,updateなどの動詞を使用します。最後のcustomer_deleteは今回追加する機能を簡潔にし書きました。
$ git branch feature/#22_add_delete_customer
branchを作成した後は、add、commit、pushまでしてリモート上に自分が変更した内容をあげましょう。add、commit、pushに関しては公式ドキュメントの方で探して見てください。
#GitHubでPull Requestからmasterにマージ
リモート上にローカルで編集した内容を上げたので次にmasterにマージをする段階なのですがその前に、Pull Requestといった機能を使います。このPull Requestは、簡単に言うとマージの一歩手前の段階で他のチームメンバーにmasterにマージしたいからこれで大丈夫かといった確認を取ることが出来ます。また、コンフリクトが起こっているかなどマージする前に確認することが出来ます。
緑のNew pull requestを押すと下記の画像が出てきてpull requestをしたいbranchを選択することが出来ます。現在はmasterからmasterになっていますが。変更して選ぶことが出来ます。
次にpull requestをすると下記の画面が出てきます。Merge pull requestを押すと選んだブランチにマージすることが出来ます。(この時点でコンフリクトを起こすとマージ出来ないので注意する)
#さいごに
大体の流れは、こんな感じで良いのですが会社でやる時はその会社独自のやり方などもあるのでその時は会社のやり方に合わせましょう。また、有名なリポジトリのやり方なども真似するのもいいでしょう。
#参考文献
gitのブランチの命名規則
【Git】ブランチの命名規則を調べてたらIssueドリブン開発という存在を知った