Wagenrücklauf für eine bestimmte Datei mit Git ignorieren

1123
Warren Seine

Dank virtueller Maschinen verwende ich mehrere Umgebungen, und mein Codeverzeichnis wird von ihnen gemeinsam genutzt. Mir gefällt auch, dass mein Code die nativen (Host-) Zeilenenden hat.

Wenn ich auf einem Windows-Host bin, checke ich meinen Code aus und die Zeilenenden werden in konvertiert \r\n(und das ist für mich in Ordnung). Wenn ich jedoch ein Shell-Skript von meiner virtuellen Linux-Maschine ausführen möchte, erhalte ich Fehlermeldungen, dass das /bin/sh^Mnicht existiert.

Kann ich Git mitteilen, dass die Unix-Endungen für diese bestimmte Datei beibehalten werden sollen? Gibt es eine bessere Möglichkeit, mit Leitungsenden in mehreren Umgebungen umzugehen?

3

2 Antworten auf die Frage

1
grawity

Erstellen Sie für eine einzelne Datei eine .gitattributesDatei, die Folgendes enthält:

*.sh eol=lf 

(Eine weitere mögliche Einstellung ist -text, dass die Konvertierung der Zeilenenden einfach deaktiviert wird.)

`-text` wird auch andere Dinge tun, die Sie nicht möchten, wie zum Beispiel aufhören, diffs für die Datei anzuzeigen. Arrowmaster vor 13 Jahren 1
0
James T

Sie können dos2unix für die Dateien ausführen, um sie für Linux / Unix richtig zu formatieren.

Dadurch würde die Datei völlig anders aussehen als das VCS. Warren Seine vor 13 Jahren 0