こんにちはAKIです。
最近githubの仕様変更や便利だなと思った機能をQiitaに記事をあげていますが、
目に留まった便利なものをブログの方にも残したいと思います。
便利機能・小ネタ
githubのPR(プルリクエスト)のテンプレート機能が便利
githubの大きなメイン機能としてPullRequest(プルリクエスト・PR)がありますが、
プルリク作成時のコメント記載箇所にテンプレート導入ができるみたいなのでやってみたら便利でした。
TEMPLATEファイル作成
pull_request_template.mdまたはPULL_REQUEST_TEMPLATE.md
というファイル名でテンプレートを作ります。
内容はこんな感じ
# pr review template test ## title - 改修内容。 - 変更理由 ## memo - その他備考
TEMPLATEファイル配置
リポジトリ直下に上記のテンプレートファイルを配置し、コミットする。
すると次回よりプルリク作成時に自動的にテンプレートが展開されます。
プロジェクトなど記載情報の統一化を図りたい場合やナレッジとしてノウハウを残す際にとても便利だなと思いました。

githubのContributor機能が便利
テンプレートとは別にコントリビュータのためのガイドライン作成機能もあります。
チームの新規アサイン時などに、概要やガイドライン、PRのテンプレートとサンプルのメンバーへの周知などに活用すると便利ですね。
Contributor導入方法
contributing.mdまたはCONTRIBUTING.md
というファイル名でガイドラインを作ります。
内容はこんな感じ
# contributors template test ## title - hogehoge - fugafuga ## memo - memomemo
このファイルを
- リポジトリのルート直下
- docsフォルダを作成してその配下
- .githubフォルダを作成してその配下
のいずれかにpushします。
するとプルリクエスト作成時にcontributingのリンクが表示されます。
Open a pull requestのプルリクエスト作成時にのみリンクが表示されます。
既存のpull requestのview時には表示されません。

githubのリポジトリ名を変更する方法とした後の設定変更
githubでリポジトリを一度作成した後に、諸事情でリポジトリ名を変えたいなーって時はたまにあると思います。
そんな時の変更方法です。
リポジトリ変更方法
[Settings]→[Repository Name]→[Rename]です。
ちなみに、リポジトリ変更してもURL変わったり色々参照している箇所の変更が面倒では?
と思うかもしれませんが、
旧URLからでもトップのURLやissues、wikiなどは**自動でリダイレクト**が効くようになるのであまり気にしないでいいので便利です。
clone済みのローカル側の変更
git remote set-url origin {新しいURL}
この変更をしなくても自動リダイレクトは効きますが、しておくに越したことはないでしょう。
変更が反映されているかの確認は
git remote -v
clone済みのフォルダ名は
ローカルのclone済みのフォルダは、そのままディレクトリ名を変更するだけでOKです。
ローカルのルートのディレクトリ名は管理対象ではないので。

githubのFind Fileがリポジトリ内ファイルのあいまい検索ができてとても便利
github上でリポジトリ内のファイル検索する際に1つずつクリックしていくと結構手間なこともあります。
そんな時はFind Fileを使うと早くて便利です。
1文字ずつシームレスに検索が反映されるので速度も早くてとても使い勝手がいいです。

githubのNetworkGraphはブランチごとのタイムラインを図で表示されるので便利
githubはとても便利ですが、ブランチが煩雑になってくるとタイムラインとブランチの変遷が分かりづらくなる時ありませんでしょうか。
そんな時はgithubのNetWorkGraphを見るとブランチ毎の変遷がグラフで可視化されるので見やすいです。
「Insights」タブ→「Network」→Network graph」

仕様変更など
githubのプルリクのdiffで複数行の参照とコメントができるようになった
githubのプルリクエスト上で今までは行単位の参照とコメントでしたが、
それが複数行選択できるようになりました。
参照自体はURLも変更されるのでチームメンバへの共有などにも使えます。
diffの行番号のあたりをクリックして、選択したい複数行の末尾の行をShiftを押しながらクリックします。
(ドラッグ&ドロップでも選択できます。)
files#diff-{コミットハッシュ値}R4-R5
URLを確認すると上記のような形でURLの末尾に行番号が追加されています。
このURLを共有すれば別のメンバも複数行選択された状態で表示されます。

githubのプルリクエスト上で[?w=1]で半角スペース無視が便利な件
ソフトタブとハードタブが混在している場合、
ほとんどのエディター上ではきれいに整形して表示されますが、
あくまでテキストデータなのでgithub上はタブと半角スペースがそのまま表示されます。
なのでインデントが見辛くなることもしばしばです。
(本来はそうならないようにコーディングするのがベターですが)
そんな時にプルリクのURLの後ろに?w=1というGETのパラメータをつけると
半角スペース・タブのみの差分を無視して表示されます。
https://github.com/aki/XXXXX/pull/5/files?w=1
コード中のインデント揃えだけするようなこともありますが
差分としては表示したくないこともあります。
そんな時に地味に便利な機能です。
また、現在のgithubでは設定でwhitespace無視のオプションが追加されているのでパラメータをいじる必要はなくなりました。

githubのプルリク上でOptionクリックするとファイルを全部開く&全部閉じるができる
githubのプルリクの「File Changed」で
差分のファイル数が多いとスクロールも長く閲覧が手間な時ありませんか?
一括でアコーディオンメニュー(ファイルの差分を表示しているところ)を閉じる方法メモです。
ファイルパスの横の
「>」と「v」の矢印の部分を
Macの場合
「optionキーを押しながらクリック」
Windowsの場合
「Altキーを押しながらクリック」
です。
差分の全ファイルを一括で閉じたり開いたりできるので便利です。

githubのプルリクエスト上で[Viewed]の閲覧管理が便利
2019/7/1からgithubのプルリクエスト上で、
閲覧したかどうかを判別できる「Viewed」ボタンの機能が追加されました。
これが地味に便利で
Pull Request(以降、プルリク)をレビューしている時に
変更点が多すぎるとFileChangedが大量にあり、どのコードを読んでどこまでがOKか判別が手間な時があります。
そういう際に閲覧したかどうかの履歴として使用できるのでレビュアーには
痒い所に手が届く嬉しい機能です。
○○/○○の形式でどれだけ閲覧済みか進行状況が表示されます。

おわり
いかがでしたでしょうか。
そんなの知ってるよ、当たり前だよというものもあったかとは思いますが独断と偏見でまとめさせていただきました。
更新があればまた書きたいと思います。
それでは。