- Level1,2,3で学んだことを理解している前提で説明が進みます!
- issueを作成する
- issueをもとにブランチを作成する
- PRを作成して依頼を出す
- レビューを受ける
- 親ブランチへ反映させる
擬似issue駆動開発体験では以下の画像のような開発サイクルを体験します。 これからのハッカソンやチーム開発で運用する手法なのでこの機会に頭へ叩き込みましょう!
今回はこのようなタスクがあることを仮定します
「自己紹介の作成」
-
名前がある
-
在籍大学名がある
趣旨はissue駆動開発の理解なので、タスクのクオリティはどの程度でも問題ないです
それではこのタスクに沿ってissueを作成してみましょう!
まずissuesタブを開いて、「New Issue」をクリックします
issue作成画面が出現するので、タスク内容を記載していきましょう!
titleには「[あなたの名前]自己紹介文作成」、descriptionには「名前と在籍大学名を記載する」と書いておけば何をするかが明確ですね!
💡 迷ったらissueの一覧から他の人がどのようにissueを作成しているか参考にしてみましょう!
「Assignees(誰に割り当てられたタスクなのか)」も選択しましょう。今回は自分を選択します。
これでissueの作成は完了です!
issueを作成した際に番号が自動生成されます。その番号を元にブランチを作成するので、issueと作業ブランチが対応関係になります。
今回は「2」という番号が自動生成されているので、feature/2というブランチを作成します!
それでは実際にブランチを作成してみましょう! 「Code」タブをクリックして画面を移動します!
画面左側に「main」と書いてあるボタンがあるのでクリックしましょう!
まずは作業ブランチをどのブランチから派生させるかを選択する必要があります! 今回はdevelopから派生させたいので、まずdevelopブランチをクリックしましょう!
検索バーにブランチ名を入力することで新しくブランチが作成できます。
繰り返しますが、今回はissueの番号が「2」だったので、feature/2というブランチを作成します。
ここは各自作成したissueの番号を入力してください。
入力後「Create branch feature/? from develop」をクリックすると、ブランチが作成されます。
「Create branch feature/? from develop」であって「Create branch feature/? from main」ではないので注意してください。
もし誤った名称のブランチを作成してしまっても、新しく作り直せば問題ありません。
本来はmainブランチ→developブランチ→作業ブランチと切り分けていきますが、あくまで擬似issue駆動開発体験なので、mainブランチからdevelopブランチを切る工程は省略し、最初からdevelopブランチから作業ブランチを作成します。
それでは実装に移ります! 先ほどcloneしたこのリポジトリをvscode上で立ち上げ、GitHub上で作成したブランチをローカルに反映させましょう!
git fetch次に自分が作成したブランチへ移動します。
git checkout feature/?すると画面左下がfeature/2に変わりました!これは自分が作成したブランチへ移動できているということなので、実装の準備は完了しましたね!
それでは 「新しく」ファイル を作成し、実装していきましょう! 絶対新しく作成したファイル内で編集をしてください!既存のファイルをいじると、他の人が作成したファイルを編集してしまう可能性があります。
こんな感じで実装してみました!クオリティは求めないので、自由に編集してみてください!
実装が完了したらadd, commit, pushして編集した内容をGitHubに反映させましょう! やり方はLevel 2 テキストを参考にしてください!
コマンドを打ち終わったらGitHubへ移動し、PRを作成しましょう!
PRの反映先は必ずdevelopにしてください!
💡 作業ブランチは「develop」から切ったので反映するのも「develop」になります
基本的にはPRの反映先は切ったブランチ(親ブランチ)です
PRを作成したらDiscordにてレビュー依頼をしましょう。 自分以外のメンバーにコードの変更をレビューしてもらうことで、客観的な視点でコードの改善点等を指摘してもらえます。
今回は縦モクの先輩に対してレビューを依頼します。 PRのurlをコピーして、〇〇チャンネルでレビュー依頼をしましょう!
PRをレビューしてもらってから親ブランチへ反映するという流れは一般的ですが、POSSE内部での開発全てに当てはまるとは限らないのでチームで確認しましょう
縦モクのタイミングで先輩からPRのLGTM(approve)をもらいましょう! この画面を先輩へ見せてください(どうしても先輩がいない場合は横モクの既にレビューをもらっているPRを見せてください)
💡 LGTMとはLooks Good To Meの略で、(レビュワー的にも)その実装でいいと思うよ!ということを伝えるメッセージになります
先輩へ
現在issue駆動開発をph1でやっています。 ph1にてPRの確認依頼を出しているため、approveをしてもらいたいです。 やってほしいことは以下の2点です。
LGTMコメントを書く- コメントを書いたことを本人に伝える
LGTMはもらえましたか? LGTMがもらえたら、PRを親ブランチに反映させましょう! Merge Pull Requestボタンをクリックして完了です!
実際にdevelopに反映されたか確認しましょう
git checkout developでdevelopブランチへ移動して、もう一度VScodeでgit fetchをして左のファイル一覧を見てみましょう!
feature/2で作成したファイルが反映されていますね!
最後にこのタスクが完了したことがわかるようにissueを閉じましょう! 画像にある通りissueタブからissueを選択し、「Close issue」をクリックして下さい!
これで擬似issue駆動開発体験は完了です!!!
Git、GitHubの操作はただ頭でイメージするだけでは身に付かず、実際に手を動かしたり、分からなかった箇所は先輩に質問したりなどしないと定着しません。
プログラミング言語自体の勉強も重要ですが、今後ハッカソンやチーム開発で活躍していくには間違いなく必要な知識になってくるので分からなかったところは何度も復習してください!
また、分からなかった箇所はここから質問していただけると即座に回答します!
カリキュラムの「最後に」に目を通してweek3は以上です!お疲れ様でした!


















