2016-04-07 12 views
0

In unserem Repository sind die Zeilenenden LF. Das ist gut. Beim Auschecken unter Windows macht core.autocrlf das Leben einfacher, indem alle Dateien lokal als CRLF gespeichert werden, aber LF endet. Auch das ist gut.Wie kann ich Dateien mit LF-Zeilenenden festschreiben, aber bestimmte Dateitypen in CRLF beibehalten, wenn sie unter OS X ausgeführt werden?

Aber die Dinge sind nicht so gut, wenn meine lokale Kopie auf OS X ist und eine Windows VM mit einigen der Dateien (Visual Studio für die Web-Dateien) arbeitet, da LF die Dinge ein wenig vermasselt.

Also was ich will ist, das Repository als LF zu halten, und lokal nur einige ausgewählte Dateitypen als CRLF. Ist das machbar?

Antwort

0
  1. Sicherstellen, dass die Repo hat core.autocrlf Satz:

    git config --global core.autocrlf true

  2. erstellen/ändern Datei $GIT_DIR/info/attributes mit Linie (n) als solche:

*.js  eol=crlf 
*.css  eol=crlf 
*.html eol=crlf 

Ich verifizierte dies mit Notepad ++ - lokale Datei hatte CRLF, dann Datei direkt vom Repo-Host heruntergeladen zeigte nur LF.

0

Das geschieht mit der Datei .gitattributes, mit der Sie Dateinamen nach einem Muster abgleichen können, indem Sie das beabsichtigte Verhalten basierend auf der Übereinstimmung zuweisen.

Weiterführende Literatur:

 
    # Declare files that will always have CRLF line endings on checkout. 
    *.sln text eol=crlf 
+0

Sind .gitattributes keine Dateien in der Regel an den Repo verpflichtet und macht es so mo Re einer Team-Option als eine einzelne Benutzeroption? – andrewb

+0

Sicher. Aber es hat keinen Sinn, unterschiedliche Meinungen darüber zu haben, wie ein Repository interpretiert werden soll (das wäre keine Teamleistung). –

+0

Das ist meiner Meinung nach ein absolut unnötiges Absolutes. Es sollte kein Problem sein, wenn zum Beispiel einige Entwickler Webstorm unter OS X verwenden und andere Webstorm unter Windows verwenden. Das ist zumindest ein Teil der Gründe, warum diese Git-Regeln geschaffen wurden, um die Vielfalt reibungslos zu ermöglichen. – andrewb