LoginSignup
1
0

More than 3 years have passed since last update.

NITICNoobsによるGit/GitHub講座 第8回 〜Pull Request/Issue〜

Last updated at Posted at 2020-06-07

自己紹介

どうも、isso0424です。又の名をいっそうです。
高専2年生でぷよぐやみんぐを趣味でやっています。
限界開発鯖で無限に通話をしてます。
何やってるかは以下のtwitterやGitHub見てもらえればわかると思います。
twitter
GitHub
今回は僕がGit&GitHub解説を進めていきます。

気づいたかも知れませんが俗に言うコピペと呼ばれる魔法を使いました。

お目次

  • Issue
  • Pull Request

今回はGitHubの実践編になります。

お説明

Issue

これはリポジトリに結び付けられる課題問題点などを指す言葉です。

使用する場面

Issueを使用する場面はそこそこあります

  • 新機能の実装
  • バグの報告
  • 改善点の提案

立て方

では実際に自分のリポジトリで見てみましょう。
Screenshot from 2020-06-03 02-35-42.png

ダークテーマを拡張機能で入れているので違和感があるかも知れませんが気にしないでください。
ここでCodeの隣のIssueボタンを押すとIssueの一覧が見れます。
IssueList.png

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

この画面で以下の情報が指定できます。

名前 意味
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のボタンをクリックすると以下のような画面に飛びます。PRList.png

右上のNew Pull Requestを押すとIssueのような感じでPull Requestの作成画面に飛びます。

ChangeCompare.png

今回はmasterbasehogeをマージするので左上のcomparehogeに変更します。

すると下のような画面になります。CreateNewPR.png

ここでCreate New Pull Requestというボタンを押すとPull Requestを作成するページに飛びます。CreateNewPR2.png

ここはIssueと似ていますが一点だけ相違点があります。
それはReviewersの指定ができることです。
Reviewersというのは後述のReviewを行う人員を指します。
今回は個人リポジトリなので指定しなくて問題ありません。

そしてCreate pull requestを押すとPull Requestを作成できます。
すると下のスクショのような画面に移るはずです。
Screenshot from 2020-06-03 03-21-08.png

Pull Requestのマージ

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

Pull Requestのレビュー

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

そして、下のような画面に飛びます。
Screenshot from 2020-06-03 03-35-01.png
ここでレビューを行います。
指摘したい場所の行番号にカーソルを持っていって出てくる+をクリックします。
すると以下のようなフォームが出てきます。
StartAReview.png
ここでStart a reviewを押すとレビューが開始します。
あとは気になるところを指摘していきます。

最後にレビューの種類を決めます。
レビューの種類には以下のものがあります。

名前 意味
Approve マージしていいぞ
Request Changes こんなコードマージさせれるか書き直してこい
Comment 特に特殊な意味の無いコメント

Reviewers全員からApproveがもらえればそれはマージする許可が出たということなのでマージします。
逆にRequest Changesが来たらコメントを元に修正する必要があります。

ここで重大な事実なんですがなんと Pull Requestを立てた本人は自分のPull Requestに対してApproveやRequest Changesを出せません。

というわけで今回はCommentだけにしておきましょう。

すると、Pull Requestの画面に戻ると下のようにコメントが追加されます。Screenshot from 2020-06-03 03-48-10.png

これがレビューです。

Issueとのリンク

Pull Requestの大切な機能としてIssueとリンクさせる事ができることが挙げられます。
リンクと言われてもピンとこないかも知れませんがこのPull RequestはこのIssueを解決しましたというのを示すものになります。
そして、Pull Requestが後述のようにマージされると同時にIssueCloseされます。

おまとめ

  • プロジェクトの課題はIssueという形で示す。
  • 別ブランチの変更をリモートの別ブランチに適用するときはPull Requestを立てる
  • Pull Requestはレビューを募れる

おリンク

1回目〜〜インストール編〜〜
2回目〜〜設定編〜〜
3回目〜〜基本技能編〜〜
4回目〜〜平行世界編-1〜〜
5回目〜〜平行世界編-2〜〜
6回目〜〜GitHub編〜〜
7回目〜〜fetch/pull編〜〜
8回目〜〜Issue/PR編〜〜 ←イマココ

執筆者

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0