일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- nestJS
- 카카오 코테
- @Autowired
- 컴포넌트스캔
- TypeORM
- Nodejs
- spring boot
- AWS
- 파이썬
- python
- thymeleaf
- 스프링
- 해시
- 코딩테스트
- 가상면접사례로배우는대규모시스템설계기초
- @Component
- 카카오
- C++
- 구조체배열
- 코테
- OpenCV
- 카카오 알고리즘
- nestjs typeorm
- git
- 시스템호출
- C언어
- nestjs auth
- 프로그래머스
- 알고리즘
- Spring
- Today
- Total
공부 기록장 💻
[Github/VSCode] No Newline at end of file (EOF) 에러 해결 본문
[Github/VSCode] No Newline at end of file (EOF) 에러 해결
dream_for 2022. 8. 25. 23:14
Github에 수정한 repository를 push하는 경우 다음과 같은 오류가 발생하는 경우가 있다.
파일의 끝에 개행문자('\n') EOF 가 포함되어 있지 않아 No newline at the end fof file 에러가 뜬 것이다.
EOF 문제가 왜 발생하는가?
문제가 왜 발생하는지 찾아보니, 옛날 IEEE가 책정한 POSIX 규칙이기 때문이라고 한다.
POSIX (Portable Operating System Interface) 란 UNIX 운영체제에 기반한 OS 인터페이스를 말하는데,
서로 다른 유닉스 OS의 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 가발하기 위한 목적으로
IEEE (Institute of Electrical and Electronics Engineers) 에서 규정한 인터페이스 규격이다.
이전 C컴파일러 gcc가 POSIX 기반으로 코드를 한 줄 씩 읽으며, 파일 끝에 개행문자 EOF가 없으면 여러 파일을 합치는 병합 과정 (merge) 에서 에러를 발생시켰다고 한다.
요즘의 컴파일러들은 개행 문자 없이 잘 동작하지만, 그래도 파일의 끝에 개행 문자를 추가하는 것을 까먹지 않도록 하자.
따라서 사용하는 IDE에서 default 설정을 해주어 github에 repositofy를 push하는 과정에서 eof 에러가 발생하지 않도록 하면 된다.
처음에는, 아래와 같이 파일의 끝에 각각 개행문자를 추가하여 수정하는 방법을 택했다.
하지만 프로젝트의 규모가 커지고, 위와 같은 작업을 일일히 수행하기 번거롭고 어려운 경우도 생기기 마련이다.
그래서 EOF 와 관련된 글들을 찾아보다가 위의 문제를 해결하기 쉬운 간단한 방법을 찾았다.
VSCode에서 Default Settings 으로 해결
먼저 Visual Studio Code에서 Ctrl+Shift+P 를 눌러보자.
Preferences: Open Default Settings (JSON) 부분을 보면
다음과 같이, "insertFinalNewLine" 이 false로 지정되어 있다.
이번에는 [Preferences: Open Workspace Settings (JSON) ] 부분을 열어
settings.json 파일에 다음과 같이
"files.insertFinalNewLine": true,
값을 추가해주도록 하자.
[참고자료]
https://dev-monkey-dugi.tistory.com/82
https://stackoverflow.com/questions/44704968/visual-studio-code-insert-newline-at-the-end-of-file
'# Tech Studies > Git • Github' 카테고리의 다른 글
[Github] Access Token 발행하기 (0) | 2023.02.05 |
---|---|
[Git/Github] does not have a commit checked out, adding files failed 에러 해결 (0) | 2022.12.21 |
[Git/Github] Git Branch Strategy와 Commit Convention 정리 (0) | 2022.09.07 |
[Git/Github] Git 명령어 정리 - Git Commands (0) | 2021.04.04 |
Git : 버전 관리 시스템 (0) | 2021.02.03 |