githubの特定の行番号にリンクする方法


371

私はgithubリポジトリのファイルの特定の行番号にリンクできることを知っています(これは以前に見たことがあると思います)...

誰かがこれを行う方法を教えてもらえますか?

回答:


587

行番号だけにリンクしないでください!必ず正規URLも使用してください。そうしないと、そのファイルが更新されたときに、間違った行を指すURLが表示されます。

正しい行に永続的にリンクする方法:

必要な行番号(18行目など)をクリックすると、ブラウザーのURLが#L18末尾に追加されます。文字18列の左側ではなく、文字列をクリックします。このように見えます:

18行目を選択

これで、ブラウザのURLは次のようになります。

https://github.com/git/git/blob/master/README#L18

複数の行を選択する場合は、Shiftキーを押しながら、20行目などの2番目の行番号をクリックします。次のようになります。

ここに画像の説明を入力してください

これで、ブラウザのURLは次のようになります。

https://github.com/git/git/blob/master/README#L18-L20

ここに重要な部分があります:

次に、yキーを押して、特定のコミットの正規URLを取得します。ブラウザのURLは次のように変わります。

https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20

そのリンクには、上のファイルの現在のバージョンではなく、その特定のコミットの実際のSHAハッシュが含まれていますmaster。つまり、このリンクは永久に機能し、そのファイルの将来のバージョンに含まれる可能性のある18〜20行目を指さないということです。

新しいパーマリンクの輝きを浴びてください。;-)

2017年9月29日更新: @watashiSHUNで指摘されているように、...1つ以上の行を選択した後、左側にメニューを提供することで、githubがパーマリンクを簡単に取得できるようになりました。@watashiSHUNの回答に賛成投票してください。

GitHubパーマリンクメニュー

2016年3月25日更新:適例 -上記の例では、URLの「README」ファイルを参照しました。これらの非正規URLは、この回答が書かれたときに実際に機能しました。しかし、READMEに移動したため、これらのURLは機能しなくなりましたREADME.md。しかし、SHAハッシュを含む正規URLは、期待どおりに機能します。


3
yキーは私には何もしません。これは変更されましたか?Google Chrome Dev Channelから試してみます。
k0pernikus

4
それでも機能します...ドキュメントでもyキーを使用するように言われています... help.github.com/articles/getting-permanent-links-to-files
broc.seib

2
ブロックの2行目をShift +クリックするのは良いことです!URLを手動で編集して2行目を追加していました:)。フォローアップ質問ですが、2行目、4行目、17〜22行目を強調表示したい場合はどうすればよいですか。それは可能ですか、または一度に1つのブロックのみを強調表示できますか?
2016年

3
@ tr3buchet私はgithubサポートにpingを実行しました-現時点では不可能です。彼らは機能を検討すると述べたが、約束はしない。形式はのようなものでL18-L20,L29CTRL連続した行を追加するために-クリックすることを人に勧めました。あなたのアイデアは素晴らしい提案であり、非常に役立つと思います。
broc.seib

2
何場合はREADMEありますかREADME.md
zwcloud 2018

56

@ broc.seibは、洗練された答えを持って私はちょうど代わりに押すのことを指摘したいyパーマネントリンクを取得するには、githubのは、今あなたがそれを達成するのに役立ちます非常にシンプルなUIを持っています

  1. 行番号をクリックして行shiftを選択するか、押し下げて複数行を選択します(ファイルエクスプローラーで複数のフォルダーを選択する方法と同じ) ここに画像の説明を入力してください

  2. 選択した最初の行の右隅で、展開...してクリックしますcopy permalink ここに画像の説明を入力してください

  3. それだけです。選択した行とコミットハッシュのリンクがクリップボードにコピーされますhttps://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

18

行番号をクリックし、アドレスバーからリンクをコピーして貼り付けます。範囲を選択するには、番号をクリックしてから、シフト後の番号をクリックします。

または、リンクは比較的単純な形式で#L<number>、ファイルへのリンクを使用して、特定の行番号の最後に追加するだけです。gitリポジトリの3行目へのリンクは次のREADMEとおりです。

https://github.com/git/git/blob/master/README#L3

強調表示された行と変更された住所行のスクリーンショット


3
ファイルが変更されても、このURLは引き続き3行目を指しているため、新しいコードが含まれている可能性があり、意図したとおりではない可能性があることを忘れないでください。永続的なリンクを生成する別のソリューションを提供しました。ヒント:を押すだけyです。;-)
broc.seib 2015

4
リンクが壊れている
pmrotule

12

コードスニペットへのパーマリンクがプルリクエストのコメントフィールドに貼り付けられている

パーマリンクを使用して、問題、PRなどにコードスニペットを含めることができます。

参照:

https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet


2
かなりいいgif!
Giovanni Benussi

オフトピックで申し訳ありませんが、どのツールを使用して作成しますか?
Giovanni Benussi

@GiovanniBenussi GitHubからです。リンクを参照してください。
Gayan Weerakutti

私はgifを意味します:-P haha​​ha
Giovanni

1
@GiovanniBenussi私はリバーシブルを何が使用したのかわかりませんが、時々「screentogif」と呼ばれる素晴らしいツールを使用してこのようなgifを作成します。github.com
NickeManarin /

6

多くのエディター(以下の「コマンド」セクションも参照)は、GitHubまたはBitBucket(またはその他)上のファイルの行番号または範囲へのリンクをサポートしています。ここに短いリストがあります:

原子

GitHubで開く

Emacs

git-link

崇高なテキスト

GitLink

Vim

gitlink-vim


コマンド

  • git-link -gitオブジェクトへのリポジトリブラウザーリンクを取得するためのGitサブコマンド
  • ghwd-シェルの現在のブランチと作業ディレクトリに一致するgithub URLを開きます

0

README.mdGitHubリポジトリの特定の行番号のコードにリンクする方法に関連

次の3つのケースがあります。

  1. (カスタムコミット)にリンクできます

    ただし、リンクは常に古いファイルバージョンにリンクします。たとえば、マスターブランチの新しい更新は含まれません。例:

    https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
    
  2. (マスターブランチ)のよう(カスタムブランチ)にリンクできます。ただし、リンクは常に、新しい更新を含む最新のファイルバージョンにリンクします。新しい更新により、リンクが無効なビジネスライン番号を指す場合があります。例:

    https://github.com/username/projectname/blob/master/file.txt#L10
    
  3. 次のビジネス上の問題のため、GitHubは(カスタムコミット)または(マスターブランチ)のいずれにもファイルへの自動リンクを作成できません。

    • 新しいファイルでそれにリンクするためのラインビジネスの意味
    • 変更可能なターゲットハイライトコードの長

0

プルリクエストの行の場合。

https://github.com/foo/bar/pull/90/files#diff-ce6bf647d5a531e54ef0502c7fe799deR27
https://github.com/foo/bar/pull/
90 <- PR number
/files#diff-
ce6bf647d5a531e54ef0502c7fe799de <- MD5 has of file name from repo root
R <- Which side of the diff to reference (merge-base or head). Can be L or R.
27 <- Line number

これは、LとRが正しい限り、行に移動します。L OR RIe にアクセスする方法があるかどうかはわかりませんが、PRが行を追加する場合は、使用する必要がありますR。行を削除する場合は、使用する必要がありますL

From:Github Pull RequestへのラインポインターURLを生成します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.