Mein Team verwendet Bitbucket für unser Git-Repository und wir haben vor kurzem damit begonnen, die Pull-Request-Funktion für Codeüberprüfungen zu verwenden. Es funktioniert gut bei der ersten Überprüfung, aber wenn es mehrere Iterationen durchläuft (dh Änderungen werden vorgenommen und die Pull-Anforderung aktualisiert), würde ich gerne einen Link nur mit den neuen Änderungen sehen, die seit der letzten Codeüberprüfung vorgenommen wurden.
Ich habe mir die "Vergleichen" -Funktionalität angesehen, aber die Benutzeroberfläche scheint nur zwischen Zweigen zu vergleichen. Gibt es eine einfache Möglichkeit, einen Unterschied zwischen zwei Commits zu ermitteln?
Antworten:
Dies ist nur eine geringfügige Änderung der bereits gegebenen Antworten, aber das Suchen von #diff am Ende anstelle von #commits ist normalerweise das, wonach ich suche. Wie andere vielleicht bereits erwähnt haben, werden die besten Ergebnisse für mich normalerweise erzielt, indem das neuere Commit zuerst und das ältere eine Sekunde lang platziert werden. Dies hängt jedoch von Ihren speziellen Anforderungen ab.
quelle
owner/repo
, kopierte die Hashes aus der Commit-Liste, drückte die Eingabetaste und bam. Schöne und einfache Diff-Ansicht. 👍 (Warum dies jedoch in ihrer GUI nicht offensichtlich ist ...)Versuchen Sie etwas wie:
https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<commit1>..<commit2>#commits
Entnommen aus: https://bitbucket.org/site/master/issue/4779/ability-to-diff-between-any-two-commits
quelle
compare/
Einfügen der oben genannten Informationen etwas hinzufügen .Bitbucket unterstützt jetzt das Vergleichen von Tags.
quelle
tag1
muss aber mit "v" beginnen und neuer sein,tag2
ist älter. Zum Beispiel wird bitbucket.org/codsen/array-includes-with-glob/branches/compare/… - anders herum nicht funktionieren und ohne "v" wird es nicht funktionieren - beide Fälle führen zu 404.https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<TAG1>%0D<TAG2>?w=1#diff
Dies zeigt den Unterschied und ignoriert Leerzeichenunterschiede.Die Suchfelder in den Dropdown-Listen für Zweige / Tags auf der Seite Vergleichen auf bitbucket.org unterstützen jetzt eingefügte Commit-Hashes.
Jetzt können Sie einfach
https://bitbucket.org/<owner>/<repo>/branches/compare/
die Hashes in die Dropdowns einfügen, anstatt URL-Hacking durchzuführen!quelle
Ich habe Bitbucket Server, Version: v4.4.1
Die Antwort bei mir war dies.
Ich habe nach dieser Antwort gesucht, weil wir in meinem Projekt Git-Submodule verwenden und in Pull-Anfragen nur das alte Commit sha im Vergleich zum neuen Commit sha jedes geänderten Submoduls angezeigt wird. Es gibt keinen Link zum Klicken oder irgendetwas (von dem ich weiß), um zu dieser Diff-Ansicht zu springen. Mit dieser URL kann ich anzeigen, was sich auch in Submodulen geändert hat.
Übrigens, wenn jemand eine bessere Möglichkeit kennt, zwei Commits in Submodulen während einer Pull-Anfrage zu vergleichen, lassen Sie es mich bitte wissen.
quelle
Das Bitbucket-Vergleichsansichtsformat lautet wie folgt:
Ein Beispiel gegeben
ged/ruby-pg
(RubyGem, eine Ruby-Bibliothek):So vergleichen Sie zwei Versionen (von v0.18.1 bis v0.18.2)
https://bitbucket.org/ged/ruby-pg/branches/compare/v0.18.2%0Dv0.18.1
Um zwei Revisionen zu vergleichen (von f97dd6c bis 22a3612)
https://bitbucket.org/ged/ruby-pg/branches/compare/22a361201fd1d387d59a066b179124694a446f38%0Df97dd6cb4f34da6a62c4339887249115c7c25b9c
quelle
Gehen Sie zu Ihrem Bitbucket-Repository> Zweige
Klicken Sie auf das Menüsymbol und dann auf Vergleichen
quelle
Was für mich funktioniert hat war https://bitbucket.org/-theusername-/-projectnamealllowercase-/branches/compare/-Leftalphanumberic_commitcode-..-Rightalphanumeric_commit-#commits
Ersetzen Sie die
-username-
durch Ihreusername
Vielen Dank an @Aguardientico
quelle
Erstellen Sie ein Light-Tag für die Commits, die Sie vergleichen möchten. git -a [tagname] [commit_sha]
Dann vergleichen Sie in Bitbucket im Vergleichsmenü (das Pull-Anforderungen ausführt) einfach mit Tags.
quelle
Sie können dies auch innerhalb einer Pull-Anfrage tun, z. B. nachdem jemand einen Push an eine Zweigstelle gesendet hat, um die Überprüfungsergebnisse zu korrigieren. Meines Wissens gibt es noch keine Benutzeroberfläche dafür, aber Sie können die URL folgendermaßen eingeben:
https://<bitbucket-server>/projects/<PROJECT>/repos/<REPO>/pull-requests/<PR-NUM>/<commit-hash>?since=<commit-hash-older>
quelle
An der Eingabeaufforderung
git log -p -1
git log -p -5
Mir ist klar, dass dies nicht ideal ist, um einen direkten Unterschied zwischen zwei spezifischen Versionen zu zeigen.
Ref. https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
quelle
Führen Sie git über das Terminal git auf Ihrem Projektpfad aus:
git diff <new commit> <old commit>
Ex:
git diff 26cf60f be5f978
quelle