개발/코더 탈출

Cross Compile 소스코드 파일 끝문자 형식(LF,CRLF)

-=HaeJuK=- 2024. 7. 9. 16:51

ChetGpt 생성 이미지


문서 끝문자 형식 문제 해결: "LF" vs "CRLF"

  • 리눅스 및 유닉스 환경과의 호환성을 위해 소스 코드는 LF(Line Feed) 형식을 사용하여 관리해야 합니다.

Git 설정 추가

  • 모든 파일의 끝문자 형식을 일관되게 관리하기 위해 다음과 같은 Git 설정을 추가합니다.
  • git config --global core.autocrlf true

이 설정의 동작 방식은 다음과 같습니다:

  • 체크아웃(Checkout):
    • 리포지토리에서 파일을 체크아웃할 때, 줄 끝 문자가 LF인 파일을 CRLF로 변환합니다. 이는 Windows 환경에서 작업할 때 편리합니다.
  • 커밋(Commit):
    • 파일을 커밋할 때, CRLF 줄 끝 문자가 포함된 파일을 LF로 변환하여 리포지토리에 저장합니다. 이는 리눅스 및 유닉스 환경과의 호환성을 보장합니다.

설정 및 적용 단계

Git 설정:

  • Windows와 리눅스 환경 모두에서 다음 명령어를 실행하여 core.autocrlf 설정을 활성화합니다.
  • git config --global core.autocrlf true
  1. 변경 사항 커밋 및 푸시:
    설정 변경 후, 파일을 커밋하고 푸시하여 리포지토리에 반영합니다.

요약

  • 소스 코드는 리눅스 및 유닉스 환경과의 호환성을 위해 LF 줄 끝 문자 형식으로 관리됩니다.
  • 모든 파일에 대해 일관된 줄 끝 문자 형식을 적용하기 위해 git config --global core.autocrlf true 설정을 사용합니다.
작업 환경 체크아웃 (Checkout) 커밋 (Commit) 결과
Windows LF -> CRLF 변환 CRLF -> LF 변환 - 체크아웃 시 파일은 CRLF로 변환되어 작업 디렉토리에 저장됩니다.
- 커밋 시 파일은 LF로 변환되어 리포지토리에 저장됩니다.
Linux/Unix N/A CRLF -> LF 변환 - 체크아웃 시 변환 없음, 파일은 그대로 유지됩니다.
- 커밋 시 파일은 LF로 변환되어 리포지토리에 저장됩니다.

 

반응형