기술블로그
🎯 플랫폼 차이로 생기는 줄바꿈 문제
Chansman
2025. 6. 6. 19:27
🎯 플랫폼 차이로 생기는 줄바꿈 문제
Git을 쓰다 보면 운영체제(OS)별로 줄바꿈 방식이 달라서 문제가 생길 수 있어.
- Linux, macOS ➔ LF (Line Feed)
- Windows ➔ CRLF (Carriage Return + Line Feed)
줄바꿈 차이가 있으면 같은 파일인데도 변경사항이 생긴 것처럼 보이거나, 스크립트 실행 오류가 날 수 있어.
🔧 .gitattributes로 해결하는 방법
줄바꿈 문제를 방지하려면 프로젝트 최상단에 .gitattributes 파일을 만들어서 파일별로 줄바꿈 방식을 지정하면 돼.
예시 — *.sh 스크립트 파일은 항상 LF로:
*.sh text eol=lf
설정 설명
- *.sh: 모든 .sh 파일에 적용
- text: Git이 이 파일을 텍스트로 인식하게 설정
- eol=lf: 줄바꿈을 LF로 고정
이렇게 하면, .sh 파일을 커밋할 때 무조건 LF 줄바꿈으로 통일돼.
🔥 프로젝트 전체에 적용하고 싶다면?
모든 텍스트 파일에 LF 줄바꿈을 적용하려면 다음처럼 쓸 수 있어:
* text=auto eol=lf
- 모든 파일을 텍스트로 간주하고
- 자동 감지 후 줄바꿈을 LF로 통일
📌 왜 이렇게 해야 할까?
- 운영체제(OS) 상관없이 일관된 코드 관리
- GitHub Actions 같은 CI/CD 환경에서도 에러 없이 빌드 가능
- 팀원들이 서로 다른 OS를 써도 충돌 없이 작업 가능
✅ 정리
.gitattributes를 이용하면
줄바꿈(LF/CRLF) 차이로 인한 귀찮은 문제를 한 번에 해결할 수 있다.
특히 스크립트 파일 .sh, 코드 파일 .py 등을 다룰 때 꼭 적용해두자.