Antworten:
Verlinken Sie nicht nur auf die Zeilennummern! Stellen Sie sicher, dass Sie auch die kanonische URL verwenden . Andernfalls haben Sie beim Aktualisieren dieser Datei eine URL, die auf die falschen Zeilen verweist!
So stellen Sie eine dauerhafte Verbindung zu den richtigen Zeilen her:
Klicken Sie auf die gewünschte Zeilennummer (wie Zeile 18), und die URL in Ihrem Browser wird #L18
am Ende angeheftet. Sie klicken buchstäblich auf die 18
linke Seite, nicht auf die Codezeile. Sieht aus wie das:
Und jetzt sieht die URL Ihres Browsers folgendermaßen aus:
https://github.com/git/git/blob/master/README#L18
Wenn Sie mehrere Zeilen auswählen möchten, halten Sie einfach die Umschalttaste gedrückt und klicken Sie auf eine zweite Zeilennummer wie Zeile 20. Sieht folgendermaßen aus:
Und jetzt sieht die URL Ihres Browsers folgendermaßen aus:
https://github.com/git/git/blob/master/README#L18-L20
Hier ist der wichtige Teil:
Rufen Sie nun die kanonische URL für dieses bestimmte Commit ab, indem Sie die y
Taste drücken. Die URL in Ihrem Browser ändert sich wie folgt:
https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20
Dieser Link enthält den tatsächlichen SHA-Hash für dieses bestimmte Commit und nicht die aktuelle Version der Datei master
. Das bedeutet, dass dieser Link für immer funktioniert und nicht auf die Zeilen 18 bis 20 der zukünftigen Version dieser Datei verweist.
Genießen Sie jetzt das Leuchten Ihrer neuen permanenten Verbindung. ;-);
Update 29.09.2017: Wie von @watashiSHUN hervorgehoben, hat github es jetzt einfacher gemacht, den permanenten Link zu erhalten, indem ...
links ein Menü bereitgestellt wird, nachdem Sie eine oder mehrere Zeilen ausgewählt haben. Bitte stimmen Sie auch der Antwort von @ watashiSHUN zu.
Update 25.03.2016: Beispiel: Im obigen Beispiel habe ich in der URL auf die Datei "README" verwiesen. Diese nicht-kanonischen URLs funktionierten tatsächlich, als diese Antwort geschrieben wurde. Aber jetzt funktionieren diese URLs nicht mehr, seitdem sie README
verschoben wurden README.md
. Die kanonische URL mit SHA-Hash funktioniert jedoch weiterhin wie erwartet.
y
Schlüssel verwenden sollen ... help.github.com/articles/getting-permanent-links-to-files
L18-L20,L29
ist und dass eine Person CTRL
klicken kann, um nicht aufeinanderfolgende Zeilen hinzuzufügen. Ich denke, Ihre Idee ist ein großartiger Vorschlag und wäre sehr nützlich.
README
ist README.md
?
@ broc.seib hat eine ausgefeilte Antwort . Ich möchte nur darauf hinweisen, dass y
github jetzt eine sehr einfache Benutzeroberfläche hat, die Ihnen dabei hilft, den permanenten Link zu erhalten
Wählen Sie eine Zeile aus, indem Sie auf die Zeilennummer klicken, oder wählen Sie mehrere Zeilen aus, indem Sie sie gedrückt halten shift
(genauso wie Sie mehrere Ordner im Datei-Explorer auswählen).
Erweitern ...
und klicken Sie in der rechten Ecke der ersten ausgewählten Zeilecopy permalink
https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
Klicken Sie auf die Zeilennummer und kopieren Sie den Link aus der Adressleiste. Um einen Bereich auszuwählen, klicken Sie auf die Nummer und dann bei gedrückter Umschalttaste auf die spätere Nummer.
Alternativ haben die Links ein relativ einfaches Format. Fügen Sie #L<number>
sie einfach an das Ende dieser bestimmten Zeilennummer hinzu, indem Sie den Link zur Datei verwenden. Hier ist ein Link zur dritten Zeile des git
Repositorys README
:
y
. ;-)
Sie können Permalinks verwenden, um Codefragmente in Probleme, PRs usw. aufzunehmen.
Verweise:
https://help.github.com/de/articles/creating-a-permanent-link-to-a-code-snippet
Viele Editoren (siehe aber auch den Abschnitt Befehle unten) unterstützen das Verknüpfen mit der Zeilennummer oder dem Bereich einer Datei auf GitHub oder BitBucket (oder anderen). Hier ist eine kurze Liste:
Bezogen auf das Verknüpfen README.md
eines GitHub-Repositorys mit einer bestimmten Zeilennummer des Codes
Sie haben drei Fälle:
Wir können auf (benutzerdefiniertes Commit ) verlinken
Link wird jedoch IMMER mit der alten Dateiversion verknüpft, die beispielsweise KEINE neuen Updates im Hauptzweig enthält. Beispiel:
https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
Wir können auf (benutzerdefinierte Verzweigung ) wie (Master-Verzweigung) verlinken . Der Link wird jedoch IMMER auf die neueste Dateiversion verweisen, die neue Updates enthält. Aufgrund neuer Updates kann der Link auf eine ungültige Geschäftsleitungsnummer verweisen. Beispiel:
https://github.com/username/projectname/blob/master/file.txt#L10
GitHub kann AUTO-Links zu keiner Datei erstellen, weder zu (benutzerdefiniertes Commit) noch zu (Master-Zweig). Aufgrund der folgenden geschäftlichen Probleme:
Für eine Zeile in einer Pull-Anfrage.
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
Dies führt Sie zu einer Linie, solange L und R korrekt sind. Ich bin nicht sicher, ob es eine Möglichkeit gibt, L OR RIe zu besuchen. Wenn der PR eine Zeile hinzufügt, müssen Sie diese verwenden R
. Wenn eine Zeile entfernt wird, müssen Sie verwenden L
.
Von: Generieren Sie eine Zeilenzeiger-URL in Github Pull Request