사용자 도구

사이트 도구


git:crlf

Git CRLF 처리 방식

Linux/Mac/Windows 등의 다양한 운영체제에서 프로그래밍을 할 경우 항상 EOL의 값 CRLFLF간의 충돌이 발생한다. LF로 통일하고 *.bat, *.cmd 파일만 CRLF로 하는 것이 나아보인다.

CRLF -> LF 전환

  • 먼저 CRLF 혹은 LF를 강제해야할 모든 파일을 dos2unix, unix2dos 명령으로 올바른 형태로 모두 바꾼다.
    find . -name "*.java" -exec dos2unix {} \;
    find . -name "*.groovy" -exec dos2unix {} \;
    # ...
  • 해당 상태를 커밋한다.
  • 이제 .gitattributes에 파일별 상태를 기술한다.
  • .gitattributes 파일 자체를 커밋한다.

dos2unix/unix2dos

dos2unix 패키지를 설치하고 dos2unix, unix2dos, unix2mac 등의 명령으로 테스트해본다.

.gitattributes 예

* text=auto

*.bat text eol=crlf
*.cmd text eol=crlf

*.java text elo=lf
*.groovy text eol=lf
*.py text eol=lf
*.rb text eol=lf
*.gradle text eol=lf
*.properties text eol=lf
*.xml text eol=lf
*.sql text eol=lf
*.txt text eol=lf
*.md text eol=lf
*.ftl text eol=lf
*.jade text eol=lf
*.jsp text eol=lf
*.jspf text eol=lf

gradlew text eol=lf

오직 LF만..

* text eol=lf
git/crlf.txt · 마지막으로 수정됨: 2014/12/29 00:21 저자 kwon37xi