読者です 読者をやめる 読者になる 読者になる

Rails Webook

自社のECを開発している会社で働いています。Rails情報やサービスを成長させる方法を書いていきます

最近のモダンなチーム開発でのgit/GitHubの使い方

Git/GitHub チーム

f:id:nipe880324:20150303210122j:plain

最近のモダンな開発ではgit/GitHubが使われています。(GitLabなどの近しいツールも含む)
git/GitHubでのチーム開発の中でのgit/GitHubの使い方を説明します。

Gitフロー

機能やバグフィックスなどコードを修正する場合は、ブランチを作り、そのブランチを修正する。
作業が終わったら、GitHub上でブランチからmasterへのPRを行い、ソースコードレビューをし、masterへマージする。

0. リポジトリの最新化
$ git pull

1. ブランチを作成
$ git checkout -b <ブランチ名(yyyymmdd_修正名)>

2. 作業を実施
// 新しいブランチでいろいろとファイルを変更する
$ git ci -am "<コメント>"
// 必要に応じてsquashして、コミットをまとめる
$ git rebase -i master 

3. リモートリポジトリ(GitHub)にブランチをpushする 
$ git push -u origin <ブランチ名>

4. GitHub上でmasterブランチへPRを出し、GitHub上でコードレビューしてもらう

5. コードレビューが終わったら、PR画面のmergeボタンを押し、masterへマージする。
// 他の人との変更が競合している場合は、mergeボタンを押せないので、下記を実行して競合をなくす
$ git checkout master
$ git pull
$ git checkout <ブランチ名>
$ git merge master
// Conflictと表示されるので、競合を解消する
$ git ci -am "Fix conflict"
$ git push

6. masterの最新化とローカルリポジトリのブランチを削除
$ git checkout master
$ git pull
$ git br -d <ブランチ名>