Я знаю, что могу ссылаться на определенный номер строки в файле в репозитории github (я уверен, что видел это раньше)...
Может кто-нибудь сказать мне, как это сделать?
Я знаю, что могу ссылаться на определенный номер строки в файле в репозитории github (я уверен, что видел это раньше)...
Может кто-нибудь сказать мне, как это сделать?
Не просто ссылки на номера строк! Обязательно используйте канонический URL тоже. В противном случае, когда этот файл будет обновлен, у вас будет URL, указывающий на неправильные строки!
Как сделать постоянную ссылку на нужные строки:
Щелкните по нужному номеру строки (например, строке 18), и URL в вашем браузере будет прикреплен к концу #L18
. Вы буквально нажимаете на 18
слева, а не на строку кода. Выглядит так:
И теперь URL вашего браузера выглядит так:
https://github.com/git/git/blob/master/README#L18
Если вы хотите выбрать несколько строк, просто нажмите и удерживайте клавишу Shift и щелкните номер второй строки, например, строку 20. Выглядит так:
И теперь 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 любой будущей версии этого файла.
Теперь грейтесь в лучах вашей новой постоянной ссылки. ;-)
обновление от 29.09.2017: Как отмечает @watashiSHUN, теперь с помощью github стало проще получить постоянную ссылку, предоставив ...
меню слева после выбора одной или нескольких строк. Пожалуйста, ответьте на ответ @watashiSHUN.
обновление от 25.03.2016: Пример - в приведенном выше примере я ссылался на файл "README" в URL. Эти неканонические URL действительно работали, когда был написан этот ответ. Но теперь эти URL больше не работают, так как README
был перемещен в README.md
. Но канонический URL с хешем SHA все еще работает, как и ожидалось.
У @broc.seib есть изощренный ответ, я просто хочу отметить, что вместо нажатия y
чтобы получить постоянную ссылку, у github теперь есть очень простой пользовательский интерфейс, который помогает вам достичь этого.
Выберите строку, щелкнув по номеру строки, или выберите несколько строк, удерживая клавишу shift
(так же, как вы выбираете несколько папок в проводнике)
в правом углу первой строки, которую вы выбрали, разверните ...
и нажмите Скопировать copy permalink
https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
Щелкните номер строки, а затем скопируйте и вставьте ссылку из адресной строки. Чтобы выбрать диапазон, щелкните номер, а затем сдвиньте его на более поздний номер.
В качестве альтернативы, ссылки являются относительно простым форматом, просто добавьте #L<number>
в конец для этого номера конкретной линии, используя ссылку на файл. Здесь ссылка на третью строку репозитория git
README
:
https://github.com/git/git/blob/master/README#L3
Вы можете использовать постоянные ссылки для включения фрагментов кода в вопросы, PR и т.д.
Рекомендации:
https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet
Многие редакторы (но также см. Раздел "Команды" ниже) поддерживают привязку к номеру строки или диапазону файлов в GitHub или BitBucket (или других). Вот краткий список:
README.md
к тому, как связать README.md
репозитория GitHub с определенным номером строки кода
У вас есть три случая:
Мы можем ссылаться на (пользовательский коммит)
Но ссылка ВСЕГДА будет ссылаться на старую версию файла, которая, например, НЕ содержит новых обновлений в основной ветке. Пример:
https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
Мы можем ссылаться на (пользовательская ветвь), как (master-ветка). Но ссылка ВСЕГДА будет ссылаться на последнюю версию файла, которая будет содержать новые обновления. Из-за новых обновлений ссылка может указывать на неверный номер бизнес-линии. Пример:
https://github.com/username/projectname/blob/master/file.txt#L10
GitHub НЕ МОЖЕТ делать AUTO-ссылки на какие-либо файлы ни в (пользовательский коммит), ни (в основной ветке) из-за следующих бизнес-проблем: