GitHub入門
今回はGitHubの使い方を包括的に紹介していきます。
あまり、類似した記事はなかったので、GitHubの使い方をよく理解してないという方には参考になるはずです。
プルリクエスト
まず、プルリクエストについて解説していきます。
プルリクエストとは、自分の変更したコードをマージしてもらうように依頼する機能のことです。
この機能があるおかげで、誰かが変更したコードをマージする前にレビューを挟むことができます。
そして、レビューをした方がコードの質の向上、バグの軽減に大きく貢献します。
では早速PRの手順を解説していきます。
PRの作成
まず、以下のコマンドでローカルブランチをpushします。
git push origin HEAD
こうすることで、GitHubからそのブランチに対して操作することができるようになります。
なので、pushしたブランチを選択してPRを作成できるようになります。
次にタイトルと説明を追記して、PRを作成します。
今回は手を抜きましたが、仕事上はなるべく具体的なタイトル、詳細な説明を書くようにしましょう。
また、チームで働いてる場合はレビュワーを設定して、レビューを依頼しましょう。
PRのレビュー
次にレビューの方法を解説していきます。
ちなみに、以下のコマンドで他人のリモートブランチにチェックアウトすることができます。
# リモートブランチのfetch
git fetch origin <ブランチ名>
# リモートブランチの確認
git branch -r
# リモートブランチへのcheckout
git checkout <ブランチ名>
レビューを依頼された側は、このようにコードに対してレビューすることができます。
Add single commentを押すと、コメントを書くたびにメール通知が飛んでしまうので、start reviewをすると良いでしょう。
そして、レビューし終わった際は、コメントと共に承認などをすることができます。
start reviewを選択していた際は、この時に通知がいきます。
ざっくりの説明は次の通りです。
種類 | 説明 |
---|---|
Comment | 一般的なコメント、承認も非承認もしない |
Approve | 承認 |
Request changes | 修正依頼 |
基本的に、approveがないとmergeできないように設定しているチームが多いかと思います。
また、CommentとRequest changesの使い分けが曖昧なので、どちらかしか使ってないというチームも多いかと思います。
そして、レビューを受けた側は該当箇所を修正して、コメントに返信しましょう。
マージ
Approveされた場合は、次にマージすることができます。
マージの種類は次の3つがあります。
・普通にmerge commitを作るマージ
・squad and mergeでコミットを一つにまとめてマージ
・rebase and mergeでrebaseによるマージ
ここはチームによってどれにするか決められていると思うので、それに従いましょう。
また、マージしたブランチは削除しておくようにしましょう。
Issue
次に、issueという機能について解説していきます。
こちらは課題管理機能となります。
タスクが完了した際は、issueをcloseして終了を表すことができます。
また、PRに参照としてissueのリンクを貼ることもできます。
さらに、labelをつけて課題を分類することや、milestoneを使って期限を設定することもできます。
Projects
Projectsタブでカンバンボードなどを追加することができます。
また、先ほどのissueと組み合わせることも可能です。
このように、GitHubだけでタスク管理を完結させることができます。
そのため、GitHubだけでタスク管理をしているというチームも多いでしょう。
Wiki
次に、wikiについて解説していきます。
こちらはその名の通り、wikiを作ることができる機能です。
例えば、yargsというnpmパッケージのリポジトリは次のようになっています。
このように、マークダウン形式で、wikiを書くことができます。
insights
insightsタブでは、その名の通り様々な統計情報を見ることができます。
例えば、マージされたプルリクエストやマージ待ちプルリクエスト、イシューの数なども確認できます。
また、曜日ごとのコミット数なども見れるので、振り返るの際にも役立つでしょう。
まとめ
今回はGitHubの使い方などに解説してきました。
GitHubを良く分かってなかったという方は、ぜひ参考にしてください。
宣伝
0からエンジニアになるためのノウハウをブログで発信しています。
また、YouTubeでの動画解説も始めました。
YouTubeのvideoIDが不正ですインスタの発信も細々とやっています。
興味がある方は、ぜひリンクをクリックして確認してみてください!
Discussion