すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

リレー方式でmergeまでやってみよう!

この記事で出来るようになること

ぴっかちゃん

チームで集まって、リレー方式で1人ずつ作業を行うよ!

他の人が作業している時は、アドバイスをして助け合いながら進めよう

ぴかわかさん

作業内容

pikawaka_classのチーム名ディレクトリ配下にあるteam-member-introduction.rbで1人ずつ作業を行い、pull requestを作成してチームのメンバーにレビューをしてもらいます。レビューが完了したらmergeを実行します。

team-member-introduction.rbに記述する内容

team-member-introduction.rbは、チームの自己紹介のファイルです。putsメソッドを利用し、自身の名前を姓 名のローマ字表記で記述します。姓と名は、半角スペースで区切ります。

adminチームの1人目の担当者が宮嶋勇弥の場合は、adminディレクトリ内にあるteam-member-introduction.rbに以下のように記述します。

pikawaka_class/admin/team-member-introduction.rb | 1人目の担当者である宮嶋勇弥が記述する内容
1
puts 'miyajima yuya'

後ほど手順で説明する「pull request」や「merge」まで行ったら、次の担当者にバトンタッチします。次の担当者が自身の名前をteam-member-introduction.rbに記述していきます。

以下のように担当者が変わるたびに、1行ずつコードが増えることになります。

team-member-introduction.rb | 1人目の担当者が記述する内容
1
puts '1人目の担当者の名前'
team-member-introduction.rb | 2人目の担当者が記述する内容
1
2
puts '1人目の担当者の名前'
puts '2人目の担当者の名前'
team-member-introduction.rb | 3人目の担当者が記述する内容
1
2
3
puts '1人目の担当者の名前'
puts '2人目の担当者の名前'
puts '3人目の担当者の名前'
team-member-introduction.rb | 4人目の担当者が記述する内容
1
2
3
4
puts '1人目の担当者の名前'
puts '2人目の担当者の名前'
puts '3人目の担当者の名前'
puts '4人目の担当者の名前'

それでは、手順を確認しよう!

ぴかわかさん

手順の確認

手順
  1. 作業用のブランチを作成する
  2. team-member-introduction.rbに自身の名前を記述する
  3. addを実行してインデックスに登録する
  4. commitを実行してローカルリポジトリに記録する
  5. pushを実行してリモートリポジトリにアップロードする
  6. GitHubでpull requestを作成する
  7. チームのメンバーからLGTMをもらおう
  8. GitHub上でmergeをしよう
  9. 次の担当者に交代・pullで最新の変更履歴を取り込む

それでは、作業用のブランチから作成していきましょう。1人ずつ作業を行ってください。他の人が作業している時は、アドバイスをして助け合いながらチームで進めてみてください!

1.作業用のブランチを作成する

team_姓_workという名前の作業ブランチを作成する

カレントディレクトリをpikawaka_classにして、以下のようにgit checkoutコマンドを実行してください。

team_姓_workの姓には、担当者の姓を入力してください。

ターミナル | ブランチを作成する
1
git checkout -b team_姓_work
ターミナル | 担当者が宮嶋の場合
1
git checkout -b team_miyajima_work

これでmasterブランチから新しく作業用のブランチを作成することができました。

2.team-member-introduction.rbに自身の名前を記述する

次にteam-member-introduction.rbに自身の名前を記述します。

sampleディレクトリに移動する

まずはcdコマンドを利用して、自身が所属するチーム名の作業用ディレクトリ内にあるsampleディレクトリに移動しましょう。

ターミナル | 所属するチーム名/sampleディレクトリに移動
1
cd 所属するチーム名/sample

adminチームの1人目の担当者の宮嶋勇弥の場合は、以下のように所属するチーム名adminが入ります。

ターミナル | 所属するチーム名/sampleディレクトリに移動
1
cd admin/sample
Cloud9のエディタにファイルを開く

続いて、Cloud9のエディタに team-member-introduction.rbのファイルを開いて下さい。他のチームのファイルと間違えないようにしましょう。

adminチームに所属する宮嶋勇弥の場合は、 admin/sample/team-member-introduction.rb をCloud9のエディタに開きます。

自身の名前をファイルに記述する

Cloud9のエディタにファイルを開いたら、putsメソッドを利用し、自身の名前を姓 名のローマ字表記で記述します。姓と名は、半角スペースで区切ります。

adminチームの1人目の担当者が宮嶋勇弥の場合は、adminディレクトリ内にあるteam-member-introduction.rbに以下のように記述します。

pikawaka_class/admin/team-member-introduction.rb | 1人目の担当者である宮嶋勇弥が記述する内容
1
puts 'miyajima yuya'

3.addでインデックスに登録する

team-member-introduction.rbに自身の名前を記述したら、git addコマンドで変更したファイルをインデックスに登録します。

ターミナル
1
git add 登録したいファイル名

登録したいファイル名.(ドット)にすると、変更された全てのファイルがインデックスに登録されます。「add」と「.」の間にはスペースが入るので注意しましょう。

ターミナル | 変更された全てのファイルをインデックスに登録する
1
git add .
ターミナルでgit add .を実行して、変更内容をインデックスに登録しよう
ターミナル(pikawaka_class/所属するチーム名/sample/)
1
git add .

4.commitを実行してローカルリポジトリに記録する

インデックスに登録された内容をローカルリポジトリに記録するには、git commitコマンドを使用します。

オプションの-mで、コミット内容のメッセージを入れます。これによって、このコミットが何を変更したものなのか分かりやすくなります。

ターミナル | メッセージを入れてコミットする
1
git commit -m 'コミット内容'
ターミナルでgit commitを実行して、ローカルリポジトリに記録させよう
ターミナル(pikawaka_class/所属するチーム名/sample/)
1
git commit -m 'team_名字_work implement'

5.pushを実行してリモートリポジトリにアップロードする

ローカルリポジトリに記録された変更履歴をリモートリポジトリに反映させる為にgit pushコマンドを使います。

ターミナルでgit pushを実行して、リモートリポジトリにアップロードしよう

team_姓_workの姓には、担当者の姓を入力してください。

ターミナル(pikawaka_class/所属するチーム名/sample/)
1
git push origin team_姓_work

上記のコマンドを実行すると、以下のようにリモートリポジトリとして使用するGitHub上にローカルで作業していたブランチが作成されます。

ブランチプッシュの画像

GitHub上に作業用ブランチが作成されたかを確認しよう

それでは、ローカルの作業ブランチがGitHubで作成されたかを確認するためにpikawaka_classのGitHubページに飛んで下さい。

ページ上部に miyajima_work had recent pushes と表示されていることが確認できます。この画面を表示したまま、次の手順に進みましょう。

6.GitHubでpull requestを作成する

Pull Requestは、GitHubが提供する機能です。ローカルリポジトリのソースコードの変更・更新をわかりやすく表示し、他の開発者に通知します。

自身が開発した追加機能や改修などを他の開発者に確認してもらうことで、バグが起こりにくい開発プロセスになります。このような目的で、ソースコードを検査・修正する事を「コードレビュー」と言います。

compare & pull request をクリックしてみましょう。

すると、以下のようにpull requestの作成画面が表示されます。何も変更せずにcompare pull requestボタンをクリックしましょう。

pull requestの作成画像

実行すると、以下のようにpull requestが作成されます。

pull request作成画面

変更差分を確認してみよう。

ページの右上にあるFile Changedをクリックしてください。
今回変更した差分が表示されます。

差分の画像

7.チームのメンバーからLGTMをもらおう

担当者以外のメンバーが作業を行いましょう!

作業者以外の担当者は、Review changesを押してLGTMとコメントしましょう。コメントしたら、CommentからApproveに変更し、Submit reviewをクリックしましょう。

8.GitHub上でmergeをしよう

担当者がGitHub上で作業用ブランチをメインブランチにmergeしよう

担当者は、チームメンバー全てのLGTMのコメントを確認できたら、「Merge pull request」をクリックして下さい。

merge pull requestの画像

続けてconfirm merge をクリックすると、masterブランチにmergeされます。

ぴっかちゃん

ここからは、次の担当者の方に交代して作業を行ってください!

9.次の担当者に交代・pullで最新の変更履歴を取り込む

次の担当者は、リモートリポジトリから最新の変更履歴を取り込もう

次の担当者はターミナルでカレントディレクトリをpikawaka_classにして、以下のコマンドを実行してください。

ターミナル | ローカルリポジトリに最新の変更履歴を取り込む
1
git pull origin master

最初の手順「1.作業用のブランチを作成する」に戻り、順番に進めてください。

team-member-introduction.rbに名前を記述する際には、前の担当者のコードを削除せずに、次の行に記述するよう気をつけてください。

team-member-introduction.rb | 2人目の担当者が記述する内容
1
2
puts '1人目の担当者の名前' #前の担当者のコードは削除しない
puts '2人目の担当者の名前'