타자기에서 비롯된 단어들로, 줄바꿈 또는 이동을 할때 활용하는 방식들이다.
타자기를 사용하때 한줄을 다썼으면, 다시 왼쪽을 밀어서 이동시켜주는데 그걸 "Line Feed" 라고 부르고, 페이지를 위로 올리는걸 "Carriage Return" 이라고 부른다 이러한 어원들로, 줄바꿈을 할때 사용하는 방식들을 표현한다.
LineFeed:
바로 밑으로 줄로 줄바꿈 해주는걸 뜻한다 (\n)
Carriage Return:
맨왼쪽으로 옮기는걸 뜻한다 (\r)
CR + LF = CRLF :
맨왼쪽으로 커서를 옮기고, 줄바꿈을 해주는방식
Linux는 대표적으로 LF를 사용하고
Widow는 CRLF방식을 사용한다.
애플은 CR방식만 활용했었는데, 유닉스와 일관성있기위해 LF로 방식을 바꾸었다.
이러한 OS마다의 다른 줄바꿈 방식 때문에, git을 사용할때 차이가 나서 협업같은 활동을 할때 계속해서 바꾸어주어야되는 딜레마가 생긴다.
표준화를 위해서,git은 LF방식(유닉스)을 사용하고 git 자체적으로 이러한 방식들을 변환시켜주는 옵션을준다.

1) Checkout Windows-Style, commit Unix-Style endings
Checkout: git에서 가져올때(checkout), LF인 git 파일들을 CRLF로 바꾸어줘서 가져온다(Window-Style)
Commit: git에 보낼때(commit), CRLF방식을 LF방식으로 변환해서 commit 한다(unix-style)
CRLF에서 LF변환이기때문에 Window환경에서 추천을한다
2) Checkout as-is, commit Unix-Style endings
Chekcout: git에서 가져올때는 그대로 가지고온다 따라서 대부분 LF 이지만, CRLF도 그대로 받아온다
Commit: git에 보낼때 CRLF방식이면 LF로 변환시켜서 git으로 보낸다
3) Checkout as-is, commit as-is
Chekcout:해당 파일이 저장되어있는 그대로 변환시키지 않고, 받아온다
Commit:해당 파일이 저장되어있는 그대로 변환시키지 않고 git으로 commit 한다.