Vergleichen Sie Dateien, Commits und Branches in Git

John Wachira 21 Juni 2022
Vergleichen Sie Dateien, Commits und Branches in Git

In diesem Artikel lernen wir, wie man Dateien, Commits und Branches in Git mit dem Befehl git diff vergleicht. Wir verwenden den Befehl git diff, um die Unterschiede zwischen den Dateien anzuzeigen, die sich aus zwei Commits oder dem aktuellen Stand unseres Repos und einem früheren Commit ergeben.

Der Befehl ist praktisch beim Vergleichen von Datenquellen.

Der Befehl git diff

Syntax:

git diff

Standardmäßig zeigt der Befehl die nicht festgeschriebenen Änderungen in unserem Repository an.

Der Befehl zeigt uns alle entfernten und hinzugefügten Codezeilen in der Originaldatei. Sehen wir uns einige Beispiele an.

Git Diff-Commits

Im folgenden Kontext können wir zwei Commits im selben Branch vergleichen.

git diff <commit-1-id> <commit-2-id>

Beispiel:

Hier ist der Commit-Verlauf für unser lokales Repository.

$ git log --oneline
c84e6f9 (HEAD -> main) Third Code Correction
9af4e38 Second Code Correction
a45ca97 First Code Correction
8c1cefc My Commit Message
c5bf6c8 Sixth Commit
3b641e0 Fourth Commit
21ca1e7 Third Commit
b2f7710 Initial commit

Wie würden wir in einem Szenario vorgehen, in dem wir die Unterschiede zwischen unseren Commits Korrektur des dritten Codes und Korrektur des zweiten Codes sehen wollten?

Wir führen den Befehl git diff aus und erwähnen den Hash unserer beiden Commits, wie unten gezeigt.

$ git diff 9af4e38 c84e6f9
diff --git a/insert.php b/insert.php
index 985a7af..a5f31c6 100644
--- a/insert.php
+++ b/insert.php
@@ -1,7 +1,6 @@
 <?php
 // Use ls command to shell_exec function
 $output = shell_exec('git');
-
 // Display the list of all files and directories
 echo "<pre>$output</pre>";
 ?>

Die obige Ausgabe zeigt einen Unterschied in Zeile 67. Wir können sehen, dass der Commit Third Code Correction eine leere Codezeile in Zeile 67 entfernt hat.

Git Diff-Zweige

Um zwei Zweige in unserem Repository zu vergleichen, führen wir diesen Befehl aus.

git diff <branch1> <branch2>

Wir würden diesen Befehl ausführen, wenn wir den Zweig master und einen anderen Zweig namens dev.7 vergleichen wollten.

git diff master dev.7

Wenn wir zwei Punkte zwischen den Zweigen hinzufügen, vergleicht Git die letzten Commits zwischen den beiden.

Git Diff-Dateien

Wir können zwei Dateien in unserem Repository mit dem Befehl git diff im folgenden Kontext vergleichen.

git diff <path-to-file1> <path-to-file2>

Beispiel:

$ git diff Head:sample.php HEAD:insert.php
diff --git a/sample.php b/insert.php
index dce9c57..a5f31c6 100644
--- a/sample.php
+++ b/insert.php
@@ -1,14 +1,6 @@
 <?php
-    $a= 23;
-    $nationality = "Dutch";
-    //applying conditions on nationality and age
-    if ($nationality == "Dutch")
-    {
-        if ($a >= 18) {
-            echo "Eligible to vote";
-        }
-        else {
-            echo "Not eligible to vote";
-        }
-    }
+// Use ls command to shell_exec function
+$output = shell_exec('git');
+// Display the list of all files and directories
+echo "<pre>$output</pre>";

Beachten Sie, wie wir den Zweig im Befehl git diff angegeben haben. Wenn sich die Dateien in unterschiedlichen Zweigen befinden, müssen Sie den Zweig für jede Datei angeben.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - Git Diff