Как подключиться к определенному номеру строки на github
Я знаю, что могу ссылаться на определенный номер строки в файле в репозитории github (я уверен, что видел это раньше)...
Может кто-нибудь сказать мне, как это сделать?
Ответы
Ответ 1
Не просто ссылки на номера строк! Обязательно используйте канонический 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 любой будущей версии этого файла.
Теперь грейтесь в лучах вашей новой постоянной ссылки. ;-)
обновление от 29.09.2017: Как отмечает @watashiSHUN, теперь с помощью github стало проще получить постоянную ссылку, предоставив ...
меню слева после выбора одной или нескольких строк. Пожалуйста, ответьте на ответ @watashiSHUN.
![GitHub permalink menu]()
обновление от 25.03.2016: Пример - в приведенном выше примере я ссылался на файл "README" в URL. Эти неканонические URL действительно работали, когда был написан этот ответ. Но теперь эти URL больше не работают, так как README
был перемещен в README.md
. Но канонический URL с хешем SHA все еще работает, как и ожидалось.
Ответ 2
У @broc.seib есть изощренный ответ, я просто хочу отметить, что вместо нажатия y
чтобы получить постоянную ссылку, у github теперь есть очень простой пользовательский интерфейс, который помогает вам достичь этого.
-
Выберите строку, щелкнув по номеру строки, или выберите несколько строк, удерживая клавишу shift
(так же, как вы выбираете несколько папок в проводнике) ![enter image description here]()
-
в правом углу первой строки, которую вы выбрали, разверните ...
и нажмите Скопировать copy permalink
![enter image description here]()
- что это, ссылка с выбранными строками и хешем коммитов копируется в ваш буфер обмена:
https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
Ответ 3
Щелкните номер строки, а затем скопируйте и вставьте ссылку из адресной строки. Чтобы выбрать диапазон, щелкните номер, а затем сдвиньте его на более поздний номер.
В качестве альтернативы, ссылки являются относительно простым форматом, просто добавьте #L<number>
в конец для этого номера конкретной линии, используя ссылку на файл. Здесь ссылка на третью строку репозитория git
README
:
https://github.com/git/git/blob/master/README#L3
![Screenshot with highlighted line and the modified address line]()
Ответ 4
![a permalink to a code snippet is pasted into a pull request comment field]()
Вы можете использовать постоянные ссылки для включения фрагментов кода в вопросы, PR и т.д.
Рекомендации:
https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet
Ответ 5
Многие редакторы (но также см. Раздел "Команды" ниже) поддерживают привязку к номеру строки или диапазону файлов в GitHub или BitBucket (или других). Вот краткий список:
Атом
Открыть на GitHub
Emacs
ГИТ-ссылка
Возвышенный текст
GitLink
напор
gitlink-ВИМ
команды
- git-link - подкоманда Git для получения ссылки браузера-репозитория на объект git
- ghwd - открывает URL-адрес github, соответствующий текущей ветке оболочки и рабочему каталогу.
Ответ 6
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-ссылки на какие-либо файлы ни в (пользовательский коммит), ни (в основной ветке) из-за следующих бизнес-проблем:
- смысл бизнес- строки, ссылка на него в новом файле
- длина целевого выделенного кода, который можно изменить