์ค๋์ ๊ฐ์ฒด์ ํด๋์ค ์ค๊ณ, ํ๋์ ๋ฉ์๋, ์์ฑ์, ์ถ์ํด๋์ค์ ๋ํด ๋ฐฐ์ ๋ค.
์ฝ๋๋ฅผ ๊ตฌ์ํ ๋ ์ด๋ค ๋ถ๋ถ์ ์ถ์ํ๋ก ์งํํ ์ง, ์ด๋ค ๋ถ๋ถ์ ์ค๋ฒ๋ผ์ด๋ฉ์ ํ ์ง ๋๋๋ ๊ธฐ์ค์ ๋ํด ์๊ฐํด ๋ณด๋ ์๊ฐ์ด์๋ค.
IntelliJ๋ก ์ฝ๋๋ฅผ ์ฐ์ตํ ํ Git Bash๋ฅผ ์ด์ฉํ์ฌ github์ ์ฌ๋ฆฌ๋ ค๊ณ
git add .์ ํ๋๋ฐ ์์ ์ฒ์ ๋ณด๋ ๋ฉ์์ง๊ฐ ๋์์ ๋นํฉ์ค๋ฌ์ ๋ค. ์ด๊ฒ ๋ญ๊น?
๊ฒฝ๊ณ ๋ฉ์ธ์ง
:warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
(๊ฒฝ๊ณ : '.gitignore'์ ์์ ๋ณต์ฌ๋ณธ์์ LF๋ Git์ด ๋ค์๋ฒ์ ํฐ์นํ ๋ CRLF๋ก ๋์ฒด๋ฉ๋๋ค)
๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ํ์ธํด ๋ณด๋ LF๊ฐ CRLF๋ก ๋์ฒด๋๋ค๋๋ฐ LF์ CRLF๊ฐ ๋ญ์ง ๋ชจ๋ฅด๊ฒ ๋ค.
ํนํ ํ์์ ๋์ผํ๊ฒ commit์ ์งํํ๊ธฐ ๋๋ฌธ์ ๊ฐ์๊ธฐ ์ด๋ฐ ๋ฉ์์ง๊ฐ ๋ ์ ๋นํฉํ๋ค.
ํ์ธ์ฉ์ผ๋ก commit๊น์ง ์งํํ๋๋ฐ ์ปค๋ฐ ์ญ์ ์ ๋์๋ค.
ํ์ง๋ง ํ์์๋ ์๋ฌด ๋ฉ์์ง๋ ๋จ์ง ์์๊ธฐ์ ๊ฒฝ๊ณ ๋ฉ์์ง๋ถํฐ ์ดํด๋ดค๋ค.
<ํด์>
๊ฒฝ๊ณ ๋ฉ์์ง
:warning: in the working copy of '. gitignore', LF will be replaced by CRLF the next time Git touches it
ใด> .gitignore ํ์ผ์์ ์ค ๋ ํ์ ๋ฐฉ์์ด ๋ณ๊ฒฝ๋ ์ ์๋ค๋ ๊ฒ์ ๋ํ๋ด๋ฉฐ, Git์ด ํ์ผ์ ๋ค๋ฃฐ ๋ LF(Line Feed)๋ฅผ CRLF(Carriage Return + Line Feed)๋ก ๋ฐ๊ฟ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ ์๋ฏธ๋ค.
Line Feed (LF): ์ปค์๋ฅผ ๋ค์ ์ค๋ก ์ด๋์ํต๋๋ค.
Carriage Return (CR): ์ปค์๋ฅผ ํ์ฌ ์ค์ ๋งจ ์์ผ๋ก ์ด๋์ํต๋๋ค.
๊ฒฝ๊ณ ๋ฉ์์ง๋ ์ค ๋ฐ๊ฟ์ ๋ํ ๋ด์ฉ์ด์๋ค.
๋ณดํต Unix ๊ณ์ด ์์คํ (Linux, macOS ๋ฑ)์์๋ ์ค ๋ ํ์๋ก LF๋ฅผ ์ฌ์ฉํ๊ณ , Windows์์๋ CRLF๋ฅผ ์ฌ์ฉํ๋ค.
Git์ ๊ธฐ๋ณธ์ ์ผ๋ก Unix ์คํ์ผ์ ์ค ๋ ํ์์ธ LF๋ฅผ ์ ํธํ์ง๋ง Windows ํ๊ฒฝ์์ ์์ ํ ๋ Git์ CRLF๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํ์ฉํ๋ฉฐ, ์ง๊ธ ์ํฉ์์๋ ํ์๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋ Git์ด ๋ ์ค ์ด๋ ์ชฝ์ ์ ํํด์ผ ๋๋์ง ๋ชฐ๋ผ์ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋์์ค ๊ฑฐ๋ผ๊ณ ํ๋ค.
๊ทธ๋์ ํ์์ ์๋์ผ๋ก ๋ณํํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
์ํฉ์ ํด๊ฒฐํ์ผ๋ ์ด์ ์๋ ์ด๋ฐ ๋ฉ์์ง๊ฐ ์ ๋ด๊ธฐ ๋๋ฌธ์ ๋ญ๊ฐ ๋ฌ๋ผ์ง ๊ฑด์ง ํ์ฐธ ๊ณ ๋ฏผํด ๋ณด๋ค๊ฐ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ค์ ๋ณด๊ณ ๋ต์ ๋ฐ๊ฒฌํ๋ค.
๋ฌธ์ ๋ ๋ด๊ฐ ์ถ๊ฐํ .gitignore์ ์ฝ๋์๋ค!
์๊น ํ์ผ๊ตฌ์กฐ๋ฅผ ๋ณธ๋ค๊ณ . gitignore์ ๋ด์ฉ์ ์ดํด๋ณด๋ค๊ฐ ๊ธฐ์กด์ ๋ฑ๋ก๋์ด ์๋ ์ฝ๋ ์ผ๋ถ๋ฅผ ์๋ชป ๊ฑด๋๋ ค์ ๋ฐ์ํ ๊ฒ ๊ฐ๋ค.
100% ํ์คํ์ง ์์ผ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋ฌ ์ดํ๋ก ์คํ์ฉ ๋๋ฏธํ์ผ์ github์ ์ฌ๋ ธ์ ๋ ์ ์์ ์ผ๋ก ์ ๋ก๋๋์์ผ๋ ์ด ์ด์ ๊ฐ ๊ฐ์ฅ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ ์๊ฐํ๋ค.
Git์ด ๋ ์ค ์ด๋ค ๊ฒ์ ์ ํํ ์ง ๋ชจ๋ฅธ๋ค๋ฉด ์ง์ ์ง์ ํ๋ฉด ๋๋ค!
autocrlf : check-in, check-outํ ๋ ํ์ผ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ์ค์ ํ๋ ๋ณ์์ด๋ค.
<ํด๊ฒฐ์ฝ๋>
$ git config --global core.autocrlf true
์ด ์ค์ ์ ์ฃผ๋ก Windows์์ Git์ ์ฌ์ฉํ ๋ ์ ์ฉํ๊ฒ ์ ์ฉ๋จ
--global : ์์คํ ์ ์ฒด ์ ์ฉ
Git ์ค์ ์์ --global์ต์ ์ ์ ์ญ์ ์ผ๋ก ์ ์ฉํ๋ ์ต์ ์ด๋ค. ํ์ฌ ์ฌ์ฉ์์ ๋ชจ๋ Git์ ์ฅ์์์ ๋์ผํ๊ฒ ์ค์ ๋๊ธฐ ๋๋ฌธ์ ์ด ์ต์ ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฃผ์ํด์ผ ํ๋ค.
๋น๋ก ๊ฒฝ๊ณ ์ฑ ๋ฉ์์ง์ด์ง๋ง ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ฉด ์ฐจ๋จํ๋ ๊ฒ ์ข๋ค๊ณ ์๊ฐํ๋ค.
๊ทธ๋์ ์ค์ํ ํ๋ก์ ํธ๋, ์ธ์์ด ๋ง์ด ํฌ์ ๋๋ ํฐ ํ๋ก์ ํธ๋ฅผ ์งํํ ๋ LF, CRLF ์ค ์ด๋ค ๊ฒ์ผ๋ก ์งํํ ์ง ๋ฏธ๋ฆฌ ์ ํ ํ ์ค์ ํ๊ฑฐ๋, ๊ฐ๋ฐํ๊ฒฝ์ ๋ง์ถ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.