Python vergleicht zwei Dateien
Python-Funktionen und -Methoden
Michael Zippo
31.10.2021
Der Befehl git diff zeigt die Unterschiede zwischen den Dateien in zwei Commits oder zwischen Ihrem aktuellen Repository und einem vorherigen Commit an. Dieser Befehl zeigt Änderungen an, die durch Header und Metadaten fur die geänderten Dateien gekennzeichnet sind.
Wenn Sie mit dem Versionskontrollsystem Git arbeiten, möchten Sie möglicherweise Daten in Ihrem Repository mit einem anderen vergleichen Datenquelle. Zum Beispiel möchten Sie vielleicht zwei verschiedene Commits oder zwei Dateien miteinander vergleichen.
Hier kommt die diff-Funktion ins Spiel. Diffing ist eine Funktion, die zwei Eingaben akzeptiert und die vorhandenen Änderungen anzeigt zwischen diesen Datenquellen. Diff-Funktionen können auf Branches, Dateien und Commits ausgefuhrt werden.
Dieses Tutorial behandelt mit Beispielen die Grundlagen des Diffing mit Git und die Verwendung des git diff-Befehls. Am Ende dieses Tutorials sind Sie ein Experte im Umgang mit dem Befehl git diff.
Befehl Git Diff
Der Befehl git diff zeigt die Unterschiede zwischen Dateien in zwei Commits an oder zwischen einem Commit und Ihrem aktuellen Repository. Sie können sehen, welcher Text in einer Datei hinzugefugt, entfernt und geändert wurde.
Hier ist die Syntax fur den Befehl git diff:
Standardmäßig zeigt der Befehl git diff alle nicht festgeschriebenen Änderungen an Ihrem Repository an.
Wir können die entfernten Zeilen aus unserer Originaldatei sowie alle Zeilen sehen, die zu unserer Originaldatei hinzugefugt oder geändert wurden. Git diff wird häufig zum Vergleichen von Branches in einem Git-Repository verwendet.
81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.
Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.
Sie können Dateien zwischen zwei vergleichen Git-Commits, indem Sie den Namen des Refs angeben, der sich auf die Commits bezieht, die Sie vergleichen möchten. Eine Referenz kann eine Commit-ID oder HEAD sein, die auf den aktuellen Branch verweist.
Lassen Sie uns zwei Commits in unserem Git-Repository vergleichen.
Dazu mussen Sie zuerst die ID der Commits abrufen, deren Dateien Sie vergleichen möchten. Sie können diese Aufgabe mit dem Befehl git log –pretty=oneline ausfuhren, der eine kurze Zusammenfassung aller Commits in einem Repository zuruckgibt:
Dieser Befehl gibt Folgendes zuruck:
Git Diff zwischen Branches
Um zwei Git-Branches mit dem Befehl diff zu vergleichen, geben Sie . an die beiden Branches, die Sie als Argumente vergleichen möchten. Sie mussen zwei Punkte zwischen jedem Branch-Namen verwenden. Diese Punkte zeigen an, dass Sie den neuesten Commit in jedem der Branches lesen und vergleichen möchten:
Angenommen, wir wollte den "master‚"-Zweig mit einem Zweig namens "dev-v0.9‚" in unserem Repository vergleichen. Wir konnten dies mit diesem Befehl tun:
Wenn dieser Befehl ausgefuhrt wird, wird ein Diff zwischen "master‚" und " dev-v0.9‚"-Zweig in unserer Codebasis.
Auf ähnliche Weise können Sie bestimmte Dateien in zwei verschiedenen Zweigen vergleichen Sie können also dieselbe Syntax wie oben verwenden und zusätzlich die Datei angeben, die Sie vergleichen möchten.
Angenommen, wir m√∂chten die Datei README.md in unserem "Master‚" und "dev-v0.9‚" Ge√§st. Wir k√∂nnten dies mit diesem Code tun:
Dies vergleicht die Datei README.md (die sich in unserem aktuellen Verzeichnis befindet, gekennzeichnet durch die "./‚"-Syntax) im "Master‚" und "dev-v0.9‚" Branches.
Beispiel fur einen Git-Diff-Befehl
Angenommen, wir haben ein leeres Repository initialisiert und möchten unser Repository mit einer README.md-Datei starten. Wir haben in unserem Repository eine Datei README.md erstellt, die den folgenden Satz enthält:
Dies ist ein Beispiel fur die Git-Diff-Funktion.
Dateien und Commits vorbereiten
Wir werden mit dieser Datei einen Commit mit dem Befehl git commit erstellen:
Damit können wir die Änderungen, die wir an unserem Repository vorgenommen haben, speichern. Der Befehl git gibt Folgendes zuruck:
Wenn wir den Befehl git diff zu diesem Zeitpunkt ausfuhren, passiert nichts. Dies liegt daran, dass unser Repository initialisiert wurde und es keine Änderungen zwischen Dateien in unserem Repository gibt. Da wir nun uber ein grundlegendes Repository verfugen, können wir den Inhalt der Dateien in unserem Repository ändern. Dadurch können wir den Befehl git diff in Aktion sehen.
Angenommen, wir m√∂chten den Satz ‚ÄûDiese Zeile haben wir gerade zu unserer Datei hinzugefugt‚" in die Datei README.md. Wir konnten dies mit diesem Befehl tun:
"Karriere-Karma trat in mein Leben ein, als ich es am dringendsten brauchte und half mir schnell, ein Bootcamp zu absolvieren. Zwei Monate nach meinem Abschluss fand ich meinen Traumjob, der meinen Werten entsprach und Ziele im Leben!"
Venus, Software Engineer bei Rockbot
Der obige Befehl fugt unseren Satz zur Datei README.md hinzu.
Das bedeutet, dass es jetzt einen Unterschied zwischen unserer ursprunglichen README.md-Datei und der aktuellen README.md-Datei in unserem Repository gibt.
Durch Ausfuhren des git diff-Befehls können wir sehen die Unterschiede zwischen diesen beiden Dateien. Standardmäßig erzeugt der Befehl git diff einen Diff fur alle Dateien zwischen dem letzten Commit und dem aktuellen Status des Repositorys.
Dies ist ein Beispiel fur die Git diff-Funktion.
Dies ist ein typisches Ergebnis des git diff-Befehls. Unser Ergebnis zeigt, was hinzugefugt oder entfernt wurde in unsere Datei in einem kombinierten Diff-Format.
Der Befehl git diff gibt eine Liste aller Änderungen in allen Dateien zwischen unserem letzten Commit und unserem aktuellen Repository zuruck.
Wenn Sie möchten die an einer bestimmten Datei in einem Repository vorgenommenen Änderungen abrufen, können Sie diese Datei als dritten Parameter angeben. Angenommen, wir möchten nur die Änderungen sehen, die an der Datei README.md vorgenommen wurden.
In diesem Beispiel haben wir nur die Datei README.md geändert, sodass ohnehin nur diese Änderungen angezeigt werden. Wenn wir jedoch mit einem größeren Repository arbeiten, möchten wir möglicherweise nur die Änderungen in einer Datei vergleichen. Dazu könnten wir diesen Befehl verwenden:
Dieser Befehl ermöglicht es uns, unsere aktuelle Version der README.md-Datei mit der letzten in unserem Repository festgeschriebenen Version zu vergleichen.
Git-Diffs haben eine Zahl von Komponenten, die wir verwenden können, um die Änderungen zwischen einer Datei in einem Repository zu analysieren. Lassen Sie uns sie anhand unseres vorherigen Beispiels aufschlusseln.
Wir vergleichen die Datei README.md in der aktuellen Version unseres Codes mit der Datei README.md in der letzten Version unseres Code. Dies steht in der ersten Zeile unseres Codes: