Відповіді:
Не просто посилання на номери ліній! Обов’язково використовуйте і канонічну URL-адресу . Інакше, коли цей файл буде оновлено, у вас з’явиться URL-адреса, яка вказує на неправильні рядки!
Як зробити постійне посилання на правильні лінії:
Клацніть потрібний номер рядка (наприклад, рядок 18), і URL-адреса у вашому веб-переглядачі буде встановлена #L18
в кінці. Ви буквально натискаєте на 18
ліворуч, а не рядок коду. Виглядає так:
А тепер URL вашого браузера виглядає так:
https://github.com/git/git/blob/master/README#L18
Якщо вам потрібно вибрати кілька рядків, просто натисніть клавішу зсуву та натисніть номер другого рядка, наприклад, рядок 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 все ще працює, як і очікувалося.
y
ключ також ... help.github.com/articles/getting-permanent-links-to-files
L18-L20,L29
, і що людина могла CTRL
-натиснути, щоб додати рядки, що не є послідовними. Я думаю, що ваша ідея є чудовою пропозицією і була б дуже корисною.
README
є README.md
?
@ broc.seib має складну відповідь , я просто хочу зазначити, що замість натискання, y
щоб отримати постійне посилання, github тепер має дуже простий інтерфейс, який допомагає вам досягти цього
Виберіть рядок, натиснувши на номер рядка або виберіть декілька рядків, утримуючи їх shift
(те саме, що ви обрали кілька папок у файлі провідника)
у правому куті першого вибраного рядка розгорніть ...
та клацнітьcopy permalink
https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
Клацніть номер рядка, а потім скопіюйте та вставте посилання з адресного рядка. Щоб вибрати діапазон, натисніть на номер, а потім клацніть на пізніший номер.
Крім того, посилання є порівняно простим форматом, просто додайте #L<number>
їх до кінця для конкретного номера рядка, використовуючи посилання на файл. Ось посилання на третій рядок git
сховищаREADME
:
y
. ;-)
Ви можете використовувати постійні посилання для включення фрагментів коду у випуски, PR та ін.
Список літератури:
https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet
Багато редакторів (але також дивіться розділ Команди нижче) підтримують посилання на номер або діапазон файлу на GitHub або BitBucket (або інших). Ось короткий список:
Пов’язано із тим, як зв’язатись із README.md
репозиторій GitHub до певного номера рядка коду
У вас є три випадки:
Ми можемо зв’язатись (користувацька фіксація )
Але Link ВИНАГА посилається на стару версію файлу, яка НЕ містить, наприклад, нових оновлень у головній гілці. Приклад:
https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
Ми можемо зв’язатись із (власна гілка ) типу (master-гілка) Але це посилання завжди буде посилатися на останню версію файлу, яка буде містити нові оновлення. Через нові оновлення посилання може вказувати на недійсний номер бізнес-лінії. Приклад:
https://github.com/username/projectname/blob/master/file.txt#L10
GitHub НЕ може здійснювати AUTO-посилання на будь-який файл ні (користувальницька фіксація), ні (головна філія) Через такі бізнес-проблеми:
Для рядка в запиті на виклик.
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
.
З: Створіть URL-адресу вказівника рядка в запит на отримання Github