Ich habe diff
in der Vergangenheit versucht, den Linux- Befehl ohne viel Glück oder Geduld zu verwenden. Normalerweise verwende ich ein GUI-Dienstprogramm wie DiffMerge oder Kdiff.
Vor kurzem habe ich erneut versucht, diff
Dateien auf Remote-Systemen über ssh zu vergleichen, und ich habe festgestellt, dass die -y / --side-by-side
Option sehr nützlich ist, aber ich habe immer noch das Gefühl, dass ich dieses Dienstprogramm nicht optimal nutzen kann.
Ich bin gespannt, wie ich Folgendes erreichen kann:
- Markieren Sie Änderungen oder verwenden Sie die Farbcodierung, um die Ausgabe besser lesbar zu machen
- Zusammenführen - Wählen Sie Zeilen mit Unterschieden aus und bewirken Sie die Änderungen in einer der Dateien
Außerdem habe ich beim Googeln nicht viele gute Beispiele gefunden. Wenn Sie also einige Linux-Fu-Geheimnisse haben, um das Beste aus Diff herauszuholen, können Sie dies bitte mitteilen? Ich werde hauptsächlich textbasierte Konfigurationsdateien vergleichen, aber alle Tricks und Tipps wären wunderbar.
Als Referenz - Das DiffMerge-Dienstprogramm zeigt Änderungen problemlos neben der Hervorhebung von Farben an. Mit den Symbolen oben können Sie zwischen den Ansichten "Alle anzeigen", "Unterschiede anzeigen" und "Unterschiede mit Kontext anzeigen" wechseln. Würde gerne einige dieser Funktionen an der Eingabeaufforderung.
ps: Ich sollte auch beachten, dass eine andere Option, die ich sehr nützlich finde, --suppress-common-lines
die ich in diesem kurzen und lesbaren Blog-Beitrag kennengelernt habe .
quelle
Antworten:
In keiner bestimmten Reihenfolge:
meld
ist ein sehr schönes Diff-Programm, das sehr schöne Diffs und Drei-Wege-Zusammenführungen macht.git config --global merge.conflictstyle diff3
Sie erhalten eine Drei-Wege-Merge-Ausgabe zur Verwendung mit Tools wiemeld
.wdiff
tut Wort diffs, sehr schön , wenn gefärbt :wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" ...
diff
Ausgabe zu minimieren , verwende ich normalerweise die Option--ignore-all-space
(-w
)diff-ignore-moved-lines
* macht was auf dem Etikett steht.difff
* kann verwendet werden, um nur Linien zu unterscheiden, die in bestimmten Feldern übereinstimmen.* Haftungsausschluss: Ich bin der Autor und habe diese entwickelt, um das Differenzieren und Zusammenführen von CLI und GUI zu erleichtern.
quelle
diffuse
ziemlich viel.Ich habe festgestellt
vimdiff
, dass es sehr nützlich ist.quelle
Um eine Färbung im Diff zu erhalten, sollten Sie sich http://colordiff.sourceforge.net/ ansehen . Dies ist nur ein Wrapper um diff und als solches funktionieren alle Befehlsoptionen immer noch.
Wenn Sie Ubuntu haben, schreiben Sie einfach:
Das Risiko, Ihren Anwendungsfall nicht zu erfüllen,
git
ist ein sehr schönes VCS , das sich gut in viele unterschiedliche und zusammengeführte Tools (sowohl Befehlszeilen- als auch GUI-Tools) integrieren lässt. Probieren Sie es aus, wenn es eine Option ist.quelle
Versuchen
sdiff
diff
hat auch Optionen (-e
oder-ed
) zum Erstellen eines Zusammenführungsskripts zur Verwendung mited
sdiff
,diff
Unded
sollte ein Teil der Shell sein , wo immer Sie gehen.Ihre Versionskontrollsoftware wahrscheinlich hat auch ein
diff
undmerge
Werkzeug eingebaut.quelle