2010-10-04 10 views
8

Ein Kollegen Coder verwendet einen Windows-Computer, der Wagenrücklauf überall in unserer Quelle setzt.Git: konvertieren Wagenrücklauf r in neue Zeile n mit Git Haken?

Gibt es eine Möglichkeit, einen Git-Hook zu schreiben, der alle \r\n in \n konvertiert?

Hinweis Ich habe git Haken nicht vorher verwendet, so dass ein wenig mehr von Hand holding einen langen Weg gehen könnte :)

Antwort

10

Die einfachste Sache zu set core.autocrlf to false auf der Seite Sie Windows.
(so wird Git keine Konvertierung vornehmen und das EOL unberührt lassen).

Auf der Unix-Seite konnte ein core.autocrlf auf true gesetzt werden, um das richtige EOL wiederherzustellen.
Wie mathepic in den Kommentaren erwähnt, und als I described in this SO answer, da Git1.7.2, können Sie core.eol (zu nativ) verwenden, core.autocrlf auf false zu halten.

Andernfalls können Sie eine text driver or a filter driver with gitattributes files verwenden.
Keine Haken benötigt.

+0

VonC, vielleicht möchte ich 'core.autocrlf' auf true setzen? Ich möchte ** die Wagenrückläufe entfernen. –

+0

@macek: 'autocrlf' könnte die Arbeit auf der Unix-Seite erledigen, aber ich würde es auf der Windows-Seite auf false empfehlen, um nicht alle diese crlf an erster Stelle einzuführen. Ich habe meine Antwort bearbeitet, um diese Auswahlmöglichkeiten und Einstellungen zu berücksichtigen. – VonC

+0

'core.eol' ist der neue Weg dies zu tun, denke ich. – alternative

1

Wenn sie TortoiseGit verwenden, gibt es eine Option, dies unter Git-> Konfig-> Automatische CRLF-Konvertierung für Sie zu tun.

+0

Tut mir leid, ich benutze TortoiseGit nicht –