Réponses:
Ne vous contentez pas d'un lien vers les numéros de ligne! Assurez-vous également d'utiliser l' URL canonique . Sinon, lorsque ce fichier est mis à jour, vous aurez une URL qui pointe vers les mauvaises lignes!
Comment faire un lien permanent vers les bonnes lignes:
Cliquez sur le numéro de ligne souhaité (comme la ligne 18), et l'URL de votre navigateur sera #L18
clouée à la fin. Vous cliquez littéralement sur le 18
côté gauche, pas sur la ligne de code. Ressemble à ça:
Et maintenant, l'URL de votre navigateur ressemble à ceci:
https://github.com/git/git/blob/master/README#L18
Si vous souhaitez sélectionner plusieurs lignes, maintenez simplement la touche Maj enfoncée et cliquez sur un deuxième numéro de ligne, comme la ligne 20. Ressemble à ceci:
Et maintenant, l'URL de votre navigateur ressemble à ceci:
https://github.com/git/git/blob/master/README#L18-L20
Voici la partie importante:
Maintenant, obtenez l'url canonique pour ce commit particulier en appuyant sur la y
touche. L'URL de votre navigateur changera pour devenir quelque chose comme ceci:
https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20
Ce lien contient le hachage SHA réel pour ce commit particulier, plutôt que la version actuelle du fichier master
. Cela signifie que ce lien fonctionnera pour toujours et ne pointera pas vers les lignes 18 à 20 de la future version de ce fichier.
Profitez maintenant de la lueur de votre nouveau lien permanent. ;-)
mise à jour 29/09/2017: Comme l'a souligné @watashiSHUN, github a maintenant facilité l'obtention du lien permanent en fournissant un ...
menu à gauche après avoir sélectionné une ou plusieurs lignes. Veuillez également voter pour la réponse de @ watashiSHUN .
mise à jour du 25/03/2016: cas d' espèce - dans l'exemple ci-dessus, j'ai fait référence au fichier "README" dans l'URL. Ces URL non canoniques fonctionnaient réellement lorsque cette réponse a été écrite. Mais maintenant, ces URL ne fonctionnent plus depuis qu'elles ont README
été déplacées vers README.md
. Mais l'URL canonique avec le hachage SHA fonctionne toujours, comme prévu.
y
clé aussi ... help.github.com/articles/getting-permanent-links-to-files
L18-L20,L29
, et qu'une personne puisse CTRL
cliquer pour ajouter des lignes non consécutives. Je pense que votre idée est une excellente suggestion et serait très utile.
README
est README.md
?
@ broc.seib a une réponse sophistiquée , je veux juste souligner qu'au lieu d'appuyer sur y
pour obtenir le lien permanent, github a maintenant une interface utilisateur très simple qui vous aide à y parvenir
Sélectionnez une ligne en cliquant sur le numéro de la ligne ou sélectionnez plusieurs lignes en maintenant la pression shift
(comme pour la sélection de plusieurs dossiers dans l'explorateur de fichiers)
dans le coin droit de la première ligne que vous avez sélectionnée, développez ...
et cliquezcopy permalink
https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
Cliquez sur le numéro de ligne, puis copiez et collez le lien à partir de la barre d'adresse. Pour sélectionner une plage, cliquez sur le numéro, puis sur Maj, cliquez sur le numéro suivant.
Alternativement, les liens sont un format relativement simple, ajoutez simplement #L<number>
à la fin pour ce numéro de ligne spécifique, en utilisant le lien vers le fichier. Voici un lien vers la troisième ligne du git
référentiel README
:
y
. ;-)
Vous pouvez utiliser des permaliens pour inclure des extraits de code dans les problèmes, les relations publiques, etc.
Références:
https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet
De nombreux éditeurs (mais aussi voir la section Commandes ci-dessous) prennent en charge la liaison avec le numéro de ligne ou la plage d'un fichier sur GitHub ou BitBucket (ou autres). Voici une courte liste:
Lié à la façon de lier le README.md
référentiel GitHub à un numéro de ligne spécifique de code
Vous avez trois cas:
Nous pouvons créer un lien vers ( commit personnalisé )
Mais Link sera toujours lié à l'ancienne version du fichier, qui ne contiendra PAS de nouvelles mises à jour dans la branche principale par exemple. Exemple:
https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
Nous pouvons créer un lien vers ( branche personnalisée ) comme (branche principale). Mais le lien sera TOUJOURS lié à la dernière version du fichier qui contiendra de nouvelles mises à jour. En raison de nouvelles mises à jour, le lien peut pointer vers un numéro de ligne métier non valide. Exemple:
https://github.com/username/projectname/blob/master/file.txt#L10
GitHub ne peut PAS créer de lien automatique vers un fichier vers (validation personnalisée) ou (branche principale) en raison des problèmes commerciaux suivants:
Pour une ligne dans une demande de tirage.
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
Cela vous amènera à une ligne tant que L et R sont corrects. Je ne sais pas s'il existe un moyen de visiter L OR RIe Si le PR ajoute une ligne que vous devez utiliser R
. S'il supprime une ligne, vous devez utiliser L
.
De: générer l'URL du pointeur de ligne dans la demande d'extraction Github