How to link to a specific line number on GitHub

git, github

Solution

Don't just link to the line numbers! Be sure to use the canonical URL too. Otherwise when that file is updated, you'll have a URL that points to the wrong lines!

How to make a permanent link to the right lines:

Click on the line number you want (like line 18), and the URL in your browser will get a `#L18` tacked onto the end. You literally click on the `18` at the left side, not the line of code. Looks like this:

And now your browser's URL looks like this:

https://github.com/git/git/blob/master/README.md?plain=1#L18

If you want multiple lines selected, simply hold down the Shift key and click a second line number, like line 20. Looks like this:

And now your browser's URL looks like this:

https://github.com/git/git/blob/master/README.md?plain=1#L18-L20

Here's the important part:

Now get the canonical URL for that particular commit by pressing the Y key. The URL in your browser will change to become something like this:

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

That link contains the actual SHA-1 hash for that particular commit, rather than the current version of the file on `master`. That means that this link will work forever and not point to lines 18-20 of whatever future version of that file might contain.

Now bask in the glow of your new permanent link. ;-)

After this answer was originally written, watashiSHUN pointed out that GitHub has now made it easier to get the permanent link. A `...` menu is provided on the left after you select one or more lines, like this:

Please see watashiSHUN's answer too.

Note that GitHub does not show line numbers for some "renderable" files, like Markdown files. Adding `?plain=1` to the url will show the source file with line numbers, e.g. `https://github.com/git/git/blob/master/README.md?plain=1`.

Problem

I know I can link to a specific line number on a file on a GitHub repository (I'm sure I've seen this before)... How can I do this?

Original source