問題
githubのURLはデフォルトではブランチ名/タグ名をURLに含む。
そのためブランチが更新されるとリンク先のファイル状態が変わったり、ファイルが移動しているとリンクが切れてしまう。
これはソースコード中にコメントとしてgithubへのリンクを置く場合などに都合が悪い。
一般的な解決法
githubなどのURL貼るとき(特に行番号付きの場合)は、branchではなくhash値(かtag)のURLにしてから貼れ、って定期的に言っていきたい、というか言わなくてもみんなそうしてほしい
— Kenji Yoshida (@xuwei_k) 2017年9月11日
(あと、yボタン押すだけでhash値のURLになるショートカットキーがあります)
Getting permanent links to files - User Documentation
https://github.com/akka/akka-http/blob/master/README.md
↓
https://github.com/akka/akka-http/blob/12abd6f707348c9b8f3cd03b1a3a78efe25e0b90/README.md
というわけで基本的に「y」を押してURL中のブランチ名をその時点でのコミットハッシュに置き換えたURLにすれば良い。
一般的な解決法の問題点
概ね問題ないのだが、これにより生成されたURLは40文字のコミットハッシュがそのまま含まれるのでコメントなどに書くにはいささか長い。通常のリポジトリならばコミットハッシュの前方8文字で十分である。
また、githubの「y」ショートカットの挙動が少し変で実際に置き換えられたURLへページが遷移しないことも気持ちが悪い。
そこで、ブックマークレットを作って上の問題を解決した。
GithubでURL中のブランチ名/タグ名をコミットハッシュ(8桁)に置き換える - Hatena::Let
使い方
- GithubでURL中のブランチ名/タグ名をコミットハッシュ(8桁)に置き換える - Hatena::Letに行く
- オレンジのアイコンからブックマークバーへD&D
- github.comの任意のページを開く
- ②で作成したブックマークレットをクリック
- (成功していれば)ブランチ名が8桁のコミットハッシュに置き換えられたURLに遷移