Ich bin ziemlich neu in Github und bin auf ein Amateurproblem gestoßen.
Ich wurde gebeten, eine Codeüberprüfung durchzuführen, und habe einen Commit-Hash erhalten. Ich habe jedoch versucht, in Git zu suchen, ob ich mit Commit-Hashes suchen kann, aber nichts gefunden habe.
Gibt es eine Möglichkeit, den geänderten Code mithilfe des Commit-Hash zu finden?
Antworten:
Eine URL des Formulars
https://github.com/<owner>/<project>/commit/<hash>
zeigt Ihnen die Änderungen, die in diesem Commit vorgenommen wurden. Hier ist zum Beispiel ein kürzlich veröffentlichter Bugfix, den ich an einem meiner Projekte auf GitHub vorgenommen habe:https://github.com/jerith666/git-graph/commit/35e32b6a00dec02ae7d7c45c6b7106779a124685
Sie können den Hash auch auf ein eindeutiges Präfix kürzen, z. B.:
https://github.com/jerith666/git-graph/commit/35e32b
Ich weiß, dass Sie gerade nach GitHub gefragt haben, aber der Vollständigkeit halber: Wenn Sie das Repository über die Befehlszeile ausgecheckt haben, können Sie mit beiden Befehlen im Grunde dasselbe erreichen (auch hier funktionieren eindeutige Präfixe):
Hinweis: Wenn Sie den Commit-Hash zu weit kürzen, erhalten Sie in der Befehlszeile eine hilfreiche Disambiguierungsnachricht. GitHub gibt jedoch nur eine 404 zurück.
quelle
git log -p -1 35e32b6a00dec02ae7d7c45c6b7106779a124685
ist das-1
notwendig, weil es sonst alle älteren Commits anzeigen würde; Es ist gut zu wissen, dass Sie die vier Anfangsnummern des Hashs verwenden können (das Minimum in meinen Tests), da es keine automatische Vervollständigung für den Hash gibt. und Sie können den Zweig nicht wie folgt angeben :git log master -p -1 35e3
. Git-Version: 1.7.9.5.git log -p -1 35e32b6a
Single Commit anzeigen:
https://github.com/<user>/<project>/commit/<hash>
Protokoll anzeigen:
https://github.com/<user>/<project>/commits/<hash>
Vollständiges Repo anzeigen:
https://github.com/<user>/<project>/tree/<hash>
<hash>
kann beliebig lang sein, solange es einzigartig ist.quelle
Die Möglichkeit, Commits zu suchen, wurde kürzlich zu GitHub hinzugefügt.
Um nach einem Hash zu suchen, geben Sie einfach mindestens die ersten 7 Zeichen in das Suchfeld ein. Klicken Sie dann auf der Ergebnisseite auf die Registerkarte "Commits", um übereinstimmende Commits anzuzeigen (normalerweise jedoch nur auf dem Standardzweig
master
), oder auf die Registerkarte "Issues", um Pull-Anforderungen anzuzeigen, die das Commit enthalten.Um genauer zu sein, können Sie
hash:
der Suche das Präfix hinzufügen , dies ist jedoch nicht unbedingt erforderlich.Es gibt auch eine REST-API (zum Zeitpunkt des Schreibens befindet sie sich noch in der Vorschau).
quelle
https://YourGithubDomain/search?q=YOUR_COMMIT_HASH&type=Commits
Beachten Sie, dass ich dies auch auf Github versucht habe und es dort auch funktioniert hat, z. B.https://github.com/search?q=38db172d13962ea177c00c9a3b4b3169b317e94b&type=Commits