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.
TL;DR
diff=astextplain
(msysGit only): Konvertiert diese Dateien (unter der Bedingung, dass ihre Erweiterung *.doc
, *.pdf
, *.rtf
etc.) 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
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.