Git

[Git] EOL(EndOfLine) 문제 해결 [5/7 study]

동혁이 2024. 5. 7. 01:10

 

 

EOL(EndOfLine) 문제 해결

 

 

 

 

❗️EOL(EndOfLine)이란?

EOL(end-of-line)은 개행문자 또는 줄바꿈문자라고 불리며, 새줄문자(newline)라고 칭하기도 한다. 텍스트의 한 줄이 끝남을 표시하는 문자(문자열)이다.

 

❗️파일마다 EOL을 넣어야 하는 이유

파일마다 EOL, 즉, 개행을 해야 하는 이유는 무엇일까? 

이유는 POSIX 명세가 그러하기 때문이다. 

많은 시스템과 프로그램이 이 표준을 따라 구현되어 있으며, 이를 위반 시 예기치 않은 동작이 일어날 수 있다고 한다. 또한, EOL이 있으면 파일을 구분하는 데에도 도움이 된다. 만약 파일의 끝에 개행이 되어 있지 않다면 깃허브에 커밋 시 경고 메시지를 볼 수도 있다

 

❗️해결방법 - 파일마다 EOL을 자동으로 넣도록 설정

1. 파일마다 직접 매번 개행을 꼼꼼히 해주거나... 

2. .prettierrc (또는 .prettierrc.json) 파일(객체 내부)의 "endOfLine"프로퍼티를 "auto"로 설정한다.

'prettier/prettier': [
  'error',
  {
    'endOfLine': 'auto',
  }
]

 

참고자료

https://velog.io/@jangws/EOL%EC%9D%84-%EB%84%A3%EC%96%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0%EC%99%80-git%EC%97%90%EC%84%9C-CRLF-EOL-%EC%B0%A8%EC%9D%B4%EB%A1%9C-%EC%9D%B8%ED%95%9C-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95

 

EOL을 넣어야 하는 이유와 운영체제별 EOL(EndOfLine) 차이로 인한 Git 문제 해결

페어프로그래밍 후 가져온 코드에서 eslint의 Delete cr 오류가 확인되었다.깃허브에 커밋된 내용을 살피던 중 파일의 마지막 줄에 개행(EOL)이 되어 있지 않아 빨간색 경고 아이콘이 표시되어 있음

velog.io

 

 

마무리🔥

갑자기 EOL문제가 생겼다고 PR리뷰에 같이 프로젝트하는 동료가 알려줘서 처음 EOL이 무엇인지 알게되었다. 해결방법은 생각보다 간단하지만 협업할때 운영체제간의 문제도 있다고 한다. 좀 더 검색해서 공부해보고 다음에는 주의해서 작업해야겠다

오늘도 화이팅!!!