[TIL] 2021. 7. 8
by 배부른코딩로그💡 Facts (사실, 객관)
- Git 스터디
- "checkout의 기능 분리": switch / restore
- "Git 마지막 줄 개행은 왜 체크할까?": No newline at a end of file.
⁉️ Feelings (느낌, 주관)
- Git에 대해 공부할수록 정말 좋은 기능이 많다는 것과 공부해야 할 것들이 많다는 것을 느끼게 된다.
- Git을 사용할 때, 아무 생각 없이 마지막 줄에 개행하던 이유를 알게 되었다.
가끔 개행을 빼먹는데, 이유를 알게 됐기 때문에 덜 빼먹지 않을까 싶다.
🤔 Findings (배운 점)
- git checkout 명령어의 분리.
:: 명령어 간의 역할을 명확하게 하기 위해 switch와 restore로 변경되었다.- git switch <new or already branch name>: 브랜치를 (없는 경우 생성하면서) 변경할 수 있다.
- git restore: 작업중인 파일을 복원한다.
- Git, "No newline at a end of file" 탄생 배경.
:: Github에서 '파일 끝에 개행 문자가 없습니다.'라는 문구에 대한 의미를 알게 되었다.- C 컴파일러인 gcc는 POSIX를 근거로 동작했는데, 파일 끝에 EOF가 없으면 ERROR가 발생했었다.
실제로 소스코드를 한 줄씩(line by line)으로 읽은 후 파일은 끝났지만, 개행문자가 없기 때문에 '아직 한 줄이 끝나지 않았구나'라고 인식하여 비정상적으로 동작하는 이슈가 존재했다. - *IEEE가 책정한 POSIX에서 줄(line)을 아래와 같이 정의한다.
3.206 line
A sequence of zero or more non- <newline> characters plus a terminating <newline> character.
:: 0 또는 개행문자(newline)가 아닌 문자들이 나오다가 개행문자로 끝이 나는 시퀀스. - 또한, 터미널에서 파일 내용을 출력하는 cat 등의 명령어 시, 아래와 같이 출력되기도 한다.
$ cat nonewline.txt # 파일 마지막에 개행문자가 없을 때, no new line$ cat newline.txt new line $
- C 컴파일러인 gcc는 POSIX를 근거로 동작했는데, 파일 끝에 EOF가 없으면 ERROR가 발생했었다.
🔥 선언(Affirmation)
쉴 때 푹 쉬고, 충전 후 다시 꾸준히 하는 내가 되자!
나는 꾸준하게 공부하는 개발자다!
🧑🏻💻 부록
[참고] Git 2.23.0 출시: checkout 기능 분리(switch, restore), "honeymon.io"
반응형
'TIL(Today I Learned)' 카테고리의 다른 글
[TIL] PowerShell 테스트용 더미 디렉토리 및 파일 만들기 (0) | 2022.05.25 |
---|---|
[TIL] 자바 String.format() left-align, right-align (0) | 2022.05.18 |
[TIL] 2021. 7. 1 (0) | 2021.07.01 |
[TIL] 2021. 6. 14 (0) | 2021.06.15 |
TIL, 앞으로 이렇게 진행한다... (0) | 2021.06.08 |
블로그의 정보
배부른코딩로그
배부른코딩로그