はじめに
GitHub にはいろいろな便利機能があるのですが、あまり知られてない(気がする)ものも多いと思ったのでまとめてみました。
というか、その他のところで紹介している GitHub Blog の記事を見て、いまある機能を見直してみたついでに記事にしてみました。
gist 関連
D&D で gist 作成
手元にあるファイルから Gist を作成する際はいちいちファイルを開き中身をコピーしなくても、 gist の新規作成ページを開き finder などから Drag & Drop することでファイルの中身が入力されます。
コードのみ表示する
コードの右上にある raw ボタンを押すことでも見ることができますが、gist の url の最後に .pibb
とつけることでコードだけの表示になります。
この場合、シンタックスハイライトやマークダウンなどのレンダリングは効いている、複数ファイルを一つの gist で管理している場合はその全てが1ページにまとまっている、などとなっています。
Issue/PR 関連
スクリーンショットを直接コピー&ペースト
上記 gist と同様に画像も Drag & Drop で issue/PR のコメント欄に貼り付けることができますが、スクリーンショットを貼る場合はクリップボードから直接コピペすることができます。
- 画像は Mac の標準機能の SS で試しています。分かりにくいですが、
shift + command + 4
で範囲指定のスクショを撮り、command + v
でそのまま貼り付けています。(他の OS は試してないですがどうなんでしょう・・・) - gif 画像でも見えていますが、画像はマークダウン記法でなく HTML のタグ記法でリンクを貼れるので、
img width
を指定することで画像の大きさを指定することもできます。
表のコピー&ペースト
Excel や google spreadsheet の表もコピペすることでマークダウン記法の表として貼りつけてくれます。
詳細の折りたたみ
HTML の <details>
tag を使うことで、長い文を折りたたむことができます。
issue はログなどを貼っていると長くなりがちなので、使うとスッキリできます。
概要
詳細いろいろ - foo - bar↑こんな感じのことができます。
issue と Pull Request (commit) の紐づけ
#1
のようにコミットメッセージに issue の番号を含めることで issue へのリンクが張られますが、これをclose #10
fix #20
などの特定の単語とともに使うことで そのコミットがデフォルトブランチへとマージされた時に 指定された issue を自動で閉じてくれます。
- 使える単語は Closing issues using keywords - User Documentation に載っています。
- ドキュメントにあるように、複数の isuue を閉じること、他のリポジトリの issue を閉じることもできます。
- PR を squash merge するなどしてコメントを書き換えた際は、squash merge の際のコミットメッセージに上記キーワードが含まれている必要があります。
Markdown 関連
GitHub 上では色々な絵文字が使えますが、使える絵文字は Emoji cheat sheet for GitHub, Basecamp and other services に載っています。
クリックするだけでコピーできるので便利です。
GitHub Pages 関連
静的サイトのホスティングサービスである GitHub Pages ですが、実は HTML などを一切書かずにマークダウンさえあればいい感じのウェブページを作成することができます。
これに関しては以前別の記事に書いたので、よかったらそちらを見てみてください。
その他
ブラウザの拡張機能ですが、refined-github を使うことで、リポジトリ内の README に書いているような便利機能が使えるようになります。
が、Hello from GitHub 👋 · Issue #1469 · sindresorhus/refined-github · GitHub という issue がなんと GitHub の中の人によって建てられている ように、社内で UX 改善チームを作り ユーザーの声を聞いてよりよい物を提供しようとしてくれているので、これらの機能が公式に使えるようになるかもしれません。
最近のアップデートだと、地味な改善ですがそれなりの数があります。
GitHub も頑張っているようなので、今後のアップデートについては Changelog を見ておくとよいかもしれません。