Gitによるチーム開発

1. ブランチの作成
$ git branch
* master
$ git branch develop
$ git branch
develop
* master

2.ブランチの切り替え
$ git checkout develop
Switched to branch ‘develop’
$ echo -e “# GitLab Project\nObjects for GitLab” > README.md
$ cat README.md
# GitLab Project
Objects for GitLab
$ git add -u
$ git commit -m “[Modify]Update title in README.md”
[develop 895daf2] [Modify]Update title in README.md
1 file changed, 2 insertions(+)
$ git log

3.ブランチのマージ
$ git checkout master
$ git merge develop
$ cat README.md
# GitLab Project
Objects for GitLab

リモートリポジトリの活用
-> メインのリポジトリをリモートリポジトリ側に置き、各自ローカルリポジトリの更新をマージしていくことでチーム開発を進めていく

$ git branch -a
develop
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$ git remote add gitlab https://gitlab.com/h3377/myproject.git

### リモートリポジトリの反映
$ git fetch gitlab
$ get merge FETCH_HEAD
// fetchとmergeを同時に行えるpullの方が早いが、コンフリクトを起きたときはfetch, mergeで対応する
$ git pull gitlab HEAD

### リモートリポジトリへの送信
$ vi README.md
$ git add -u
$ git commit -m “[UPDATE]Add description for README.md”
[master 79bed9e] [UPDATE]Add description for README.md
1 file changed, 1 insertion(+), 1 deletion(-)
$ git push gitlab HEAD

### Issue Tracker
– Group Issues: グループ共通の課題チケット
– Project Issues: プロジェクトで個別に割り当てられるチケット
– マイルストーンの作成
– Labels: 各課題チケットを分類するためのカテゴリ(bug, confirmed, ciritial, discussion, documentation, enhancement, suggestion, supportなどがデフォルト)
 -> チケット駆動開発(TiDD)

### Issue Board
チケットの優先順位とステータスを管理