Was ist der Unterschied zwischen diff und diff=astextplain?

Lesezeit: 1 Minute

Benutzeravatar von Alan2
Alan2

Kann mir jemand helfen. Ich verwende Git (GitHub) und versuche zu entscheiden, was ich einstellen soll *.sql Dateien in den Gittributes. Ich habe Leute gesehen

*.sql diff=astextplain
*.sql diff
*.sql text=auto

Mir wurde geraten, dies auf die zweite Option einzustellen, aber ich frage mich nur, was der Unterschied zwischen dieser und den anderen beiden ist.

Benutzeravatar von jub0bs
jub0bs

TL;DR

  • diff=astextplain (msysGit only): Konvertiert diese Dateien (unter der Bedingung, dass ihre Erweiterung *.doc, *.pdf, *.rtfetc.) in ein Textformat, bevor sie ihr Diff generieren.
  • diff: Behandeln Sie diese Dateien als einfachen Text, um ihr Diff zu generieren.
  • text=auto: automatisch EOL-Zeichen (zu LF) in Dateien normalisieren, die von Git als Textdateien angesehen werden.

Mehr Details

diff=astextplain

Der Zeichenfolgenwert astextplain ist nicht Teil des Git-Kerns, sondern läuft

git grep "astextplain"

in dem Git-Projekt-Repository gibt nichts zurück. Soweit ich das beurteilen kann, ist es ein Shell-Skript das mit versendet msysGit und ermöglicht Ihnen das Konvertieren von Dateien wie z

  • Word-Dokumente,
  • Pdf,
  • RTF

in ein Textformat umzuwandeln, bevor ihr Diff generiert wird.

diff

Laut dem gitattributes Manpage:

Das Attribut diff wirkt sich darauf aus, wie Git Diffs für bestimmte Dateien generiert.
[…]

Ein Weg, zu dem die diff -Attribut gesetzt ist, wird als Text behandelt, selbst wenn sie Bytewerte enthalten, die normalerweise nie in Textdateien vorkommen, wie z. B. NUL.

text=auto

Laut dem gitattributes Manpage:

Wann text auf “auto” gesetzt ist, wird der Pfad für die automatische End-of-Line-Normalisierung markiert. Wenn Git entscheidet, dass der Inhalt Text ist, werden seine Zeilenenden beim Einchecken auf LF normalisiert.

1429270cookie-checkWas ist der Unterschied zwischen diff und diff=astextplain?

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

Privacy policy