自己紹介
どうも、isso0424です。又の名をいっそうです。
高専2年生でぷよぐやみんぐを趣味でやっています。
限界開発鯖で無限に通話をしてます。
何やってるかは以下のtwitterやGitHub見てもらえればわかると思います。
twitter
GitHub
今回は僕がGit&GitHub解説を進めていきます。
気づいたかも知れませんが俗に言うコピペと呼ばれる魔法を使いました。
お目次
- Issue
- Pull Request
今回はGitHubの実践編になります。
お説明
Issue
これはリポジトリに結び付けられる課題や問題点などを指す言葉です。
使用する場面
Issueを使用する場面はそこそこあります
- 新機能の実装
- バグの報告
- 改善点の提案
立て方
ダークテーマを拡張機能で入れているので違和感があるかも知れませんが気にしないでください。
ここでCodeの隣のIssueボタンを押すとIssueの一覧が見れます。

(おそらく)まだIssueを作成していないと思うので右上のNew Issueボタンを押して新しいIssueを作成しましょう。

この画面で以下の情報が指定できます。
| 名前 | 意味 |
|---|---|
| Title | Issueのタイトル |
| Comment | Issueに付けるコメント |
| Assignees | Issueの担当者(self assignにより自分でIssueを解決するという意思表示ができる) |
| Labels | Issueについたラベル(Bugなど)Issueの方向性を示す |
その他は割愛します。
そして、Submit new issueを押すことでIssueを立てることができます。
閉じ方
IssueはCloseすることで解決したことを示します。
それぞれのIssueのページでClose Issueというボタンを押すと閉じれます。
また、後述のリンクされたPull Requestがマージされた際にも閉じられます。
Pull Request
これはブランチを、GitHub上で別なブランチにマージする為のものです。
作り方
まず、
git checkout -b hoge
でhogeブランチに移動します。
次に、ファイルを編集します。
その後、コミットして
git push origin hoge
でoriginに対してhogeの変更をpushします。
その後、GitHubへ行きPull Requestのボタンをクリックすると以下のような画面に飛びます。
右上のNew Pull Requestを押すとIssueのような感じでPull Requestの作成画面に飛びます。
今回はmasterをbaseにhogeをマージするので左上のcompareをhogeに変更します。
ここでCreate New Pull Requestというボタンを押すとPull Requestを作成するページに飛びます。
ここはIssueと似ていますが一点だけ相違点があります。
それはReviewersの指定ができることです。
Reviewersというのは後述のReviewを行う人員を指します。
今回は個人リポジトリなので指定しなくて問題ありません。
そしてCreate pull requestを押すとPull Requestを作成できます。
すると下のスクショのような画面に移るはずです。

Pull Requestのマージ
これはとても簡単でMerge Pull Requestを押すだけでマージできます。
共同開発の場合は、ReviewerからのApprove(後述)の上でマージすることになります。

Pull Requestのレビュー
Pull Requestでのコードの変更に対してはレビューという形で指摘などをすることができます。
レビューをするにはまず、File changedというボタンをクリックします。

そして、下のような画面に飛びます。

ここでレビューを行います。
指摘したい場所の行番号にカーソルを持っていって出てくる+をクリックします。
すると以下のようなフォームが出てきます。

ここでStart a reviewを押すとレビューが開始します。
あとは気になるところを指摘していきます。
最後にレビューの種類を決めます。
レビューの種類には以下のものがあります。
| 名前 | 意味 |
|---|---|
| Approve | マージしていいぞ |
| Request Changes | こんなコードマージさせれるか書き直してこい |
| Comment | 特に特殊な意味の無いコメント |
Reviewers全員からApproveがもらえればそれはマージする許可が出たということなのでマージします。
逆にRequest Changesが来たらコメントを元に修正する必要があります。
ここで重大な事実なんですがなんと Pull Requestを立てた本人は自分のPull Requestに対してApproveやRequest Changesを出せません。
というわけで今回はCommentだけにしておきましょう。
すると、Pull Requestの画面に戻ると下のようにコメントが追加されます。
これがレビューです。
Issueとのリンク
Pull Requestの大切な機能としてIssueとリンクさせる事ができることが挙げられます。
リンクと言われてもピンとこないかも知れませんがこのPull RequestはこのIssueを解決しましたというのを示すものになります。
そして、Pull Requestが後述のようにマージされると同時にIssueはCloseされます。
おまとめ
- プロジェクトの課題は
Issueという形で示す。 - 別ブランチの変更をリモートの別ブランチに適用するときは
Pull Requestを立てる -
Pull Requestはレビューを募れる
おリンク
1回目〜〜インストール編〜〜
2回目〜〜設定編〜〜
3回目〜〜基本技能編〜〜
4回目〜〜平行世界編-1〜〜
5回目〜〜平行世界編-2〜〜
6回目〜〜GitHub編〜〜
7回目〜〜fetch/pull編〜〜
8回目〜〜Issue/PR編〜〜 ←イマココ


