Der Git-Diff-Befehl, der die gesamte Datei anzeigt, wird geändert, anstatt einen geänderten kleinen Teil des Codes anzuzeigen

Lesezeit: 2 Minuten

Benutzer-Avatar
Raul

Ich verwende ein Git-Repository. Alles funktioniert ordnungsgemäß, außer dem Befehl git diff. Immer wenn ich eine Datei ändere, wird der Befehl git diff geändert, der die gesamte Datei anzeigt, obwohl ich einen kleinen Teil des Codes geändert habe.

Was könnte der Grund dafür sein, dass git diff die gesamte geänderte Datei anstelle eines kleinen Teils des Codes anzeigt? Lassen Sie mich auch die Einstellung der Git-Diff-Konfiguration wissen.

diff --git a/application/routes.php b/application/routes.php
index 2842f8d..6629d16 100755
--- a/application/routes.php
+++ b/application/routes.php @@ -1,671 +1,676 @@ -<?php -/** - * Set the routes. Each route must have a minimum of a name, a URI and a set of - * defaults for the URI. - / -?> +<?php +/* + * Set the routes. Each route must have a minimum of a name, a URI and a set of + * defaults for the URI. + */ +?>

  • Kannst du die Ausgabe von posten git diff?

    – Hammar

    26. Mai 2011 um 5:30 Uhr

  • diff –git a/application/routes.php b/application/routes.php index 2842f8d..6629d16 100755 — a/application/routes.php +++ b/application/routes.php @@ -1.671 +1.676 @@ –/ -?> + + * Legen Sie die Routen fest. Jede Route muss mindestens einen Namen, einen URI und eine Reihe von + * -Standardwerten für den URI haben. + */ +?>

    – Raul

    26. Mai 2011 um 5:44 Uhr


  • Das Einfügen von Diffs in Kommentare wird nicht gut funktionieren. Vielleicht sollten Sie es in Pastebin einfügen (für immer gespeichert) und uns die URL mitteilen.

    – Seth Robertson

    26. Mai 2011 um 13:02 Uhr

Vergleichen Sie die Ausgabe von git diff und git diff -b. Whitespace kann schuld sein. Das Umfließen von Text könnte eine andere sein (Sie haben nicht erwähnt, was Sie gespeichert haben).

  • git diff -b Befehl zeigt die richtige Diff-Ausgabe. Bitte lassen Sie mich wissen, welche Änderungen ich vornehmen muss. Danke im Voraus

    – Raul

    26. Mai 2011 um 5:52 Uhr


  • @Rahul: Der Trick besteht darin, es herauszufinden was Leerzeichen verursachen die Probleme. Es gibt zwei Möglichkeiten: Es könnte ein Zeilenende sein und es könnten Leerzeichen hinzugefügt/geändert werden. So sollten Sie zum Beispiel in der Zeile, die etwas wie “git stash und suchen Sie sie in der vorherigen Version. git pop wird Ihre Änderungen wiederherstellen. Teilen Sie uns auch das Betriebssystem oder die Systeme mit, die Sie oder jemand anderes, der diesen Code berührt, ausführen.

    – Seth Robertson

    26. Mai 2011 um 13:06 Uhr

Die Datei wird entweder im Unix-Modus oder im Windows-Modus (mit unterschiedlichen Zeilenenden) gespeichert, und wenn Sie die Datei speichern, speichern Sie sie im entgegengesetzten Format.

Ist Ihr Editor so eingestellt, dass Code automatisch neu formatiert wird? Könnte es die Datei sein, die verwendet wird, um Tabulatoren für die Einrückung zu verwenden, und Sie haben sie geändert, um beispielsweise Leerzeichen zu verwenden?

  • Datei mit Tabs zum Einrücken.

    – Raul

    26. Mai 2011 um 5:50 Uhr

  • @Rahul, ich denke, Ihr Editor ändert Ihre Datei. Sie müssen Ihren Editor ändern, um damit aufzuhören. Stellen Sie sicher, dass es sich nicht um eine Neuformatierung des Codes handelt. Zweitens: Stellen Sie sicher, dass vorhandene Zeilenenden nicht geändert werden.

    – Himmel Kelsey

    30. Mai 2011 um 3:28 Uhr


Versuchen Sie, die Codierung der Dateien zu überprüfen. Es scheint, dass Dateien mit demselben Inhalt, aber unterschiedlicher Codierung als völlig unterschiedlich markiert werden.

Benutzer-Avatar
Apurva Nigam

Versuchen Sie, diesen Befehl auszuführen. Es funktioniert gut für mich:

git diff -U0 Filename | grep -v "diff\|index\|@@\|+++\|\---"

Dieser Befehl entfernt im Grunde Zeilen, die “diff”, “index”, “—“, “+++”, “@@” enthalten, mit dem Befehl “grep -v”, und -U0 entfernt zusätzliche Zeilen, die über und unter den geänderten angezeigt werden Linien.

Versuchen Sie dies für eine Datei mit einer Zeilenänderung, Sie werden es besser verstehen 🙂

1130530cookie-checkDer Git-Diff-Befehl, der die gesamte Datei anzeigt, wird geändert, anstatt einen geänderten kleinen Teil des Codes anzuzeigen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy