Как связать с конкретным номером строки на github

Я знаю, что могу ссылаться на конкретный номер строки в файле на репозитории github (я уверен, что видел это раньше)...

может кто подскажет как это сделать?

5 ответов


не просто ссылка на номера строк! Обязательно используйте канонический URL тоже. В противном случае, когда этот файл будет обновлен, у вас будет URL-адрес, который указывает на неправильные строки!

как сделать постоянную ссылку на верном пути:

нажмите на номер строки, которую вы хотите (например, строка 18), и URL-адрес в вашем браузере получит #L18 прикрепил к концу. Вы буквально нажимаете на 18 С левой стороны, не строка кода. Выглядит вот так:

line 18 selected

и теперь URL вашего браузера выглядит так:

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

если вы хотите выбрать несколько строк, просто удерживайте клавишу shift и щелкните номер второй строки, например, строка 20. Выглядит так:

enter image description here

и теперь URL вашего браузера выглядит так:

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

вот важная часть:

теперь получите канонический url для этого конкретного зафиксируйте, нажав y ключ. URL в вашем браузере изменится, чтобы стать чем-то вроде этого:

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

эта ссылка содержит фактический хэш SHA для этой конкретной фиксации, а не текущую версию файла на master. Это означает, что эта ссылка будет работать вечно и не указывать на строки 18-20 любой будущей версии этого файла.

теперь погреться в сиянии вашей новой постоянной связи. ;-)

обновление 9/29/2017: как отметил @watashiSHUN, github теперь упростил получение постоянной ссылки, предоставив ... меню слева после выбора одной или нескольких строк. Пожалуйста, голосуйте @watashiSHUN это тоже.

GitHub permalink menu

3/25/2016 обновления: Case in point -- в приведенном выше примере я сослался на файл "README" в url-адресе. Эти неканонические URL-адреса действительно работали, когда этот ответ был написанный. Но теперь эти URL-адреса больше не работают с README был перенесен на README.md. Но канонический URL с хэшем SHA все еще работает, как и ожидалось.


@broc.seib имеет сложный ответ, Я просто хочу отметить, что вместо нажатия y чтобы получить постоянную ссылку, github теперь имеет очень простой пользовательский интерфейс, который поможет вам достичь его

  1. выберите строку, щелкнув по номеру строки или выбрать несколько линий downholding shift(так же, как вы выбираете несколько папок в проводнике файлов) enter image description here

  2. справа в углу первой выбранной строки разверните ... и нажмите кнопку copy permalink enter image description here

  3. вот оно, связь с выбранные строки и фиксация хэша копируются в буфер обмена: https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

щелкните номер строки, а затем скопируйте и вставьте ссылку из адресной строки. Чтобы выбрать диапазон, щелкните число, а затем shift щелкните более поздний номер.

кроме того, ссылки являются относительно простым форматом, просто добавьте #L<number> до конца для этого конкретного номера строки, используя ссылку на файл. Вот ссылка на третью строку git репозитория README:

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

Screenshot with highlighted line and the modified address line


многие редакторы (но также см. команды раздел ниже) поддержка ссылки на номер строки или диапазон файла на GitHub или BitBucket (или другие). Вот краткий список:

Атом

открыть на GitHub

Emacs

git-link

возвышенное Текст

GitLink

Vim

gitlink-vim


команды

  • git-link - git подкоманда для получения ссылки РЕПО-браузера на объект git
  • ghwd - откройте URL-адрес github, который соответствует текущей ветви вашей оболочки и рабочему каталогу

enter image description here

вы можете использовать постоянные ссылки для включения фрагментов кода в проблемы, PRs и т. д.

ссылки:

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