it-swarm.com.de

So verknüpfen Sie eine bestimmte Zeilennummer auf Github

Ich weiß, dass ich eine bestimmte Zeilennummer in einer Datei auf einem Github-Repo verknüpfen kann (ich bin mir sicher, dass ich das schon einmal gesehen habe) ...

Kann mir jemand sagen, wie das geht?

298
sfletche

Verknüpfen Sie nicht nur 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 permanente Verbindung zu den richtigen Zeilen her:

Klicken Sie auf die gewünschte Zeilennummer (wie z. B. Zeile 18), und die URL in Ihrem Browser erhält einen #L18 am Ende. Sie klicken buchstäblich auf den 18 auf der linken Seite, nicht auf die Codezeile. Sieht aus wie das:

line 18 selected

Und jetzt sieht die URL Ihres Browsers so 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, z. B. Zeile 20. Sieht so aus:

enter image description here

Und jetzt sieht die URL Ihres Browsers so 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 Taste y drücken. Die URL in Ihrem Browser ändert sich in etwa wie folgt:

https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20

Dieser Link enthält den eigentlichen SHA - Hash für dieses bestimmte Commit und nicht die aktuelle Version der Datei auf master. Das bedeutet, dass dieser Link für immer funktioniert und nicht auf die Zeilen 18-20 der zukünftigen Version dieser Datei verweist.

Jetzt können Sie sich im Schein Ihrer neuen permanenten Verbindung sonnen. ;-)

update 9/29/2017: Wie von @watashiSHUN ausgeführt, hat es github jetzt einfacher gemacht, den permanenten Link zu erhalten, indem links auf der linken Seite ein ...-Menü angezeigt wird, nachdem Sie eine oder mehrere Zeilen ausgewählt haben. Bitte - @ watashiSHUNs Antwort auch.

 GitHub permalink menu

update 25.03.2016: Fallbeispiel - im obigen Beispiel habe ich auf die "README" -Datei in der URL verwiesen. Diese nicht-kanonischen URLs funktionierten tatsächlich, als diese Antwort geschrieben wurde. Jetzt funktionieren diese URLs jedoch nicht mehr, seit README in README.md verschoben wurde. Die kanonische URL mit SHA -Hash funktioniert jedoch weiterhin wie erwartet.

485
broc.seib

@broc.seib hat eine differenzierte Antwort , Ich möchte nur darauf hinweisen, dass anstelle von y für den permanenten Link github jetzt eine sehr einfache Benutzeroberfläche hat, die Sie dabei unterstützt.

  1. Wählen Sie die Zeile aus, indem Sie auf die Zeilennummer klicken, oder wählen Sie mehrere Zeilen aus, indem Sie shift herunterfahren (wie bei der Auswahl mehrerer Ordner im Datei-Explorer)  enter image description here

  2. erweitern Sie in der ersten rechten Ecke der ersten ausgewählten Zeile ... und klicken Sie auf copy permalink enter image description here

  3. das ist es, ein Link mit ausgewählte Zeilen und Commit-Hash werden in Ihre Zwischenablage kopiert: https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
41
watashiSHUN

Klicken Sie auf die Zeilennummer, kopieren Sie den Link und fügen Sie ihn aus der Adressleiste ein. Um einen Bereich auszuwählen, klicken Sie auf die Nummer und dann auf die spätere Nummer.

Alternativ sind die Links ein relativ einfaches Format. Fügen Sie einfach #L<number> am Ende für diese bestimmte Zeilennummer an, indem Sie den Link zur Datei verwenden. Hier ist ein Link zur dritten Zeile der git des README-Repositorys:

https://github.com/git/git/blob/master/README#L3

Screenshot with highlighted line and the modified address line

15
Leigh

 enter image description here

Sie können Permalinks verwenden, um Codeausschnitte in Ausgaben, PRs usw. einzubinden.

Verweise:

https://help.github.com/articles/creating-a-permanent-link-to-a-code-snippet/

7

Viele Editoren (aber auch der Abschnitt Commands unten) unterstützen die Verknüpfung mit der Zeilennummer oder dem Bereich einer Datei in GitHub oder BitBucket (oder anderen). Hier ist eine kurze Liste: 

Atom

Auf GitHub öffnen

Emacs

git-link

Erhabener Text

GitLink

Vim

gitlink-vim


Befehle

  • git-link - Git-Unterbefehl zum Abrufen eines Repo-Browser-Links zu einem Git-Objekt
  • ghwd - Öffnen Sie die github-URL, die dem aktuellen Zweig und Arbeitsverzeichnis Ihrer Shell entspricht

Ähnlich wie README.md von github mit einer bestimmten Zeilennummer der Codedatei verknüpft wird
Sie haben drei Fälle 

1- Wir können Link zu (benutzerdefinierte commit)
Link verbindet sich IMMER mit der alten Dateiversion, die zum Beispiel KEINE neuen Updates im Master-Zweig enthält.
Beispiel
https://github.com/benutzername/projektname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/datei.txt#L10

2- Wir können link to (custom branch) wie (master-branch)
Link verlinkt IMMER auf die neueste Dateiversion, die neue Updates enthält
Beachten Sie jedoch, dass aufgrund neuer Updates der Link auf eine ungültige Geschäftsleitungsnummer verweisen kann.
Beispiel
https://github.com/username/projectname/blob/master/file.txt#L10

3- github kann KEINE AUTO-Verknüpfung zu einer Datei herstellen, entweder zu (benutzerdefiniertes Commit) oder (Master-Zweig)
Wegen folgenden geschäftlichen Problemen 

  • line geschäftliche Bedeutung, um in der neuen Datei darauf zu verweisen
  • Länge des markierten Zielcodes kann geändert werden 
0
ahmednabil88