Git & Version Control

GitHub URL変換

ファイルのリンクを入力し、refとパスの区切りを確認してからコピーしてください。

GitHub URL変換

GitHub URL入力

解析結果とリンク

URLはこのブラウザー内で処理され、GitHubへのリクエストは送信されません。

参照の区切り

URLに含まれるブランチ名・タグ・コミットをデコードした文字で指定します。区切りの指定であり、ブランチの変更ではありません。リポジトリURLでは空欄にしてください。

URLは8192、refは1024 UTF-16コード単位まで。HTTPSのみで、認証情報と明示的なポートは受け付けません。

変換中…

レビューで共有されたリンクは、人が読むファイルページを開きます。一方、スクリプトに渡したいのは装飾のない内容かもしれません。GitHub URL変換は所有者、リポジトリ、参照、パスを分けて表示し、ファイルのどの版を指すのか確認しながら両方のアドレスを作れます。

GitHub URL変換を使う理由

同じファイルを別の形で参照

GitHub URL変換では、ファイルページとRaw URL取得の結果を並べて確認できます。既存のRawリンクからページURLに戻すことも可能です。リポジトリのルートには勝手にmainやREADMEを補わず、ファイル情報が足りないことを示します。

ブラウザー内のファイル画面と装飾のない文書を双方向の矢印で結んだ図。

ブランチ名を推測で確定しない

feature/docs/guide.mdでは、最初のfeatureだけが参照とは限りません。完全なブランチ名がfeature/docsなら、その名前を指定するとguide.mdがファイルパスになります。一致しない指定はエラーとなり、別のブランチには書き換えません。

色付きのパスを二通りに区切り、選択したブランチ部分とファイル部分を分けた図。

コピー前に確認する三つの点

01

フォルダーではなくファイルを選ぶ

blobページとRawホストのURLを受け付けます。treeのディレクトリは単一ファイルではありません。リポジトリのルートを入れた場合は、リポジトリのアドレスだけを返します。

  • スラッシュの例ではURLとrefの両方をプレビューしてから適用します。
02

既存の参照をデコードして指定する

ref欄はURLに含まれる文字列の区切りを決めます。refs/headsやrefs/tagsがある場合は、その後の名前だけを入力します。少なくとも一つのファイル区間が残る必要があります。

  • feature%2Fdocsではなくfeature/docsと入力してください。
03

更新待ちの結果を使わない

どちらかの入力を変えるとコピーとダウンロードが無効になります。自動変換を切ると実行ボタンが現れ、Ctrl/Cmd + Enterでも処理できます。

  • JSONのダウンロードは解析レポートの保存であり、元のファイル取得ではありません。

画面のリンクと内容のリンクを使い分ける

参照の根拠まで見える

所有者とパスに加えて、区切りが仮定か、明示指定か、入力に符号化されていたかを表示します。40文字のコミットIDは構文上区別しますが、短いハッシュから実際のコミットを探すことはありません。

GitHub Raw Linkから元のページへ

github.com/rawとraw.githubusercontent.comを読み取り、同じ参照のblobページを生成します。明示されたheadsとtagsの名前空間を維持するため、ブランチとタグの区別が入力にある場合も失われません。

ファイル名を一度だけデコード

空白、日本語、パーセント記号を含む名前を区間ごとに符号化します。ファイル名の%3Fをクエリに変えたり、%25を二重にエスケープしたりしません。パスの大文字と小文字もそのまま扱います。

アドレスだけでは分からないこと

存在や権限は未確認
ファイルのパーマリンクが必要なら、先にGitHubで特定コミットのアドレスを取得してください。このツールは既定ブランチや現在のSHAを調べず、権限やファイルの存在も判断しません。変換の成功はアクセス成功の保証ではありません。
クエリと行指定は引き継がない
raw=true、トークン、追跡用パラメーター、#L10などは新しいリンクから除去し、通知します。入力そのものは残ります。行番号の強調表示や一時的な認証をRawアドレスに再現する機能はありません。
対象外のURLを無理に解釈しない
対象は二つの公式ホストにある単一のHTTPS URLです。SSH、Gist、Enterprise、tree、リリースやZIPには対応しません。ドット区間、空区間、不正なエスケープ、ファイル区間内の符号化スラッシュは拒否し、別の対象へ自動修正しません。

GitHub URL変換のよくある質問

GitHubのファイルからRawリンクを取得するには?

GitHubでファイルを開き、Rawを選ぶと内容用のリンクを取得できます。このページではblob形式を入力してRaw形式を作れます。ルートのリポジトリURLだけでは、ファイル名と参照が不足しているため生成しません。

RawファイルのURLを特定のバージョンに固定できますか?

ブランチとタグは移動する可能性があります。特定の版を残すには、完全なコミットIDを含むURLを使います。GitHubのファイル画面でYを押すと固定版のリンクへ切り替えられますが、ここではそのIDを検索できません。

プライベートリポジトリのRawリンクを共有しても大丈夫ですか?

非公開の内容を読む権限はURLを書き換えても得られません。一時的なトークンが必要な場合もあります。生成時はクエリのトークンを除去するので、出力を誰でも使える共有リンクとは考えないでください。

Rawを開くとCSVが表示されずダウンロードされるのはなぜですか?

表示とダウンロードの違いはサーバーの応答ヘッダーやブラウザーに依存します。アドレスの変換だけではCSVの表示方法やMIMEタイプを変更できません。このページの保存操作はローカルの解析JSONだけを対象にします。

ブランチ名にスラッシュがあるとURLの解析に失敗するのはなぜですか?

Gitの参照にはスラッシュを含められます。そのため、文字列だけではrefがどこで終わるか確定できません。表示された仮定を確認し、名前が分かる場合に完全なrefを指定してください。入力と一致する区切りだけを受け付けます。

ほかにGitHubリンクの疑問がありますか?

別のファイルを確認する

GitHub URL変換で参照とファイルパスを確認し、用途に合ったリンクをコピーしてください。区切りの根拠を後で確認する場合はJSONレポートも保存できます。