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 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.
LinkedInVerwandter Artikel - Git Diff
- Diff-Details für nicht festgeschriebene Änderungen in Git anzeigen
- Vergleichen Sie eine Datei mit einer beliebigen Version in Git
- Verwenden Sie Git Diff, um Leerzeichen in Git zu ignorieren
- Unterschied zwischen Branches in Git
- Einrichten des SourceGear DiffMerge-Tools für Git
- Meld als Difftool und Mergetool für Git einrichten