gitignore

.gitignore

Git์„ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด, ๋ฒ„์ „ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ํŒŒ์ผ๋“ค์ด ๋งŽ์•„์ง‘๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ๋ฌผ, ๋กœ๊ทธ ํŒŒ์ผ, ์ž„์‹œ ํŒŒ์ผ, ๊ฐœ์ธ ํ™˜๊ฒฝ ์„ค์ • ํŒŒ์ผ ๋“ฑ์€ ์ €์žฅ์†Œ์— ํฌํ•จํ•  ํ•„์š”๊ฐ€ ์—†์ฃ . ์ด๋•Œ .gitignore ํŒŒ์ผ์ด ํ•ต์‹ฌ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. .gitignore ํŒŒ์ผ์€ Git์—๊ฒŒ "์ด ํŒŒ์ผ๋“ค์€ ๋ฌด์‹œํ•ด๋ผ"๋ผ๊ณ  ์ง€์‹œํ•˜๋Š” ์„ค์ • ํŒŒ์ผ๋กœ, ํ˜‘์—… ์‹œ ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ๋กœ ์ธํ•œ ์ถฉ๋Œ์ด๋‚˜ ์šฉ๋Ÿ‰ ์ฆ๊ฐ€๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๊ฐœ๋…

.gitignore ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ์œ„์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. Git์€ ์ปค๋ฐ‹ ์‹œ์ ์— ์ด ํŒŒ์ผ์— ์ •์˜๋œ ํŒจํ„ด์— ๋งž๋Š” ํŒŒ์ผ๋“ค์„ ์ถ”์ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๊ฐœ๋ฐœ์ž๋งˆ๋‹ค ์ƒ์„ฑ๋˜๋Š” IDE ์„ค์ • ํŒŒ์ผ์ด๋‚˜ ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ์ด ์ €์žฅ์†Œ์— ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ์„ ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ถ”์  ์ค‘์ธ ํŒŒ์ผ์€ ๋ฌด์‹œ๋˜์ง€ ์•Š๋Š”๋‹ค: ์ด๋ฏธ ๋ฒ„์ „ ๊ด€๋ฆฌ ์ค‘์ธ ํŒŒ์ผ์€ .gitignore์— ์ถ”๊ฐ€ํ•ด๋„ ๋ฌด์‹œ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ์„ ์ œ๊ฑฐํ•œ ํ›„ ๋‹ค์‹œ ignore ๊ทœ์น™์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ธ€๋กœ๋ฒŒ ignore ํŒŒ์ผ: ๊ฐœ์ธ ์ปดํ“จํ„ฐ ์ „์ฒด์—์„œ ํŠน์ • ํŒจํ„ด์˜ ํŒŒ์ผ์„ ๋ฌด์‹œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, Git ์„ค์ •์—์„œ ๊ธ€๋กœ๋ฒŒ .gitignore ํŒŒ์ผ์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทœ์น™๊ณผ ๋ฌธ๋ฒ•

.gitignore ํŒŒ์ผ์€ ํŒจํ„ด ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ฃผ์š” ๋ฌธ๋ฒ• ์š”์†Œ์ž…๋‹ˆ๋‹ค.

  • #์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ค„์€ ์ฃผ์„ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

  • ์Šฌ๋ž˜์‹œ(/)๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ๋ถ„์ž๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์™€์ผ๋“œ์นด๋“œ(*)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ„ด์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • !๋ฅผ ์•ž์— ๋ถ™์ด๋ฉด ํŠน์ • ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜ˆ์™ธ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๊ธฐ๋ณธ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

# ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ ๋ฌด์‹œ
/build
/dist

# ๋กœ๊ทธ ํŒŒ์ผ ๋ฌด์‹œ
*.log

# OS์—์„œ ์ƒ์„ฑํ•˜๋Š” ์ž„์‹œ ํŒŒ์ผ ๋ฌด์‹œ
.DS_Store
Thumbs.db

# ํŠน์ • ํŒŒ์ผ ์ œ์™ธ์‹œํ‚ค๊ธฐ (์˜ˆ: config ํŒŒ์ผ์€ ์ถ”์ )
!config/example.config

์œ„ ์˜ˆ์ œ์—์„œ๋Š” /build์™€ /dist ๋””๋ ‰ํ† ๋ฆฌ, ํ™•์žฅ์ž๊ฐ€ .log์ธ ํŒŒ์ผ, ๊ทธ๋ฆฌ๊ณ  macOS์™€ Windows์—์„œ ์ƒ์„ฑ๋˜๋Š” ์‹œ์Šคํ…œ ํŒŒ์ผ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌด์‹œํ•˜๋”๋ผ๋„ ์˜ˆ์™ธ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ํŒŒ์ผ์€ !๋ฅผ ์‚ฌ์šฉํ•ด ์žฌ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํŒ

  1. IDE ๋ฐ ํŽธ์ง‘๊ธฐ๋ณ„ ignore ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” IDE(์˜ˆ: IntelliJ, VSCode)์˜ ์„ค์ • ํŒŒ์ผ๊ณผ ์บ์‹œ ํŒŒ์ผ๋“ค์„ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด๋‘๋ฉด, ํ˜‘์—… ์‹œ ์„œ๋กœ ๋‹ค๋ฅธ ํ™˜๊ฒฝ ์„ค์ •์œผ๋กœ ์ธํ•œ ๋ฌธ์ œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    # IntelliJ IDEA
    .idea/
    *.iml
    
    # VSCode
    .vscode/
  2. ๊ธ€๋กœ๋ฒŒ .gitignore ์„ค์ • ๊ฐœ์ธ ์ปดํ“จํ„ฐ์— ๊ณตํ†ต์ ์œผ๋กœ ๋ฌด์‹œํ•  ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ๊ธ€๋กœ๋ฒŒ ignore ํŒŒ์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    # ์ „์—ญ ignore ํŒŒ์ผ ์ƒ์„ฑ
    touch ~/.gitignore_global
    git config --global core.excludesfile ~/.gitignore_global

    ์ดํ›„ ~/.gitignore_global ํŒŒ์ผ์— OS๋ณ„ ์ž„์‹œ ํŒŒ์ผ์ด๋‚˜ ๊ฐœ์ธ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  3. ํŠน์ • ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ignore ํ”„๋กœ์ ํŠธ ๋‚ด ์—ฌ๋Ÿฌ ์–ธ์–ด์™€ ๋„๊ตฌ๊ฐ€ ํ˜ผํ•ฉ๋˜์–ด ์žˆ๋‹ค๋ฉด, ๊ฐ ์–ธ์–ด ๋˜๋Š” ๋นŒ๋“œ ์‹œ์Šคํ…œ์— ๋งž์ถ˜ ignore ํŒจํ„ด์„ ๊ตฌ๋ถ„ํ•ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. GitHub์—์„œ๋Š” gitignore ํ…œํ”Œ๋ฆฟ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.

  4. ๋ณ€๊ฒฝ ์‚ฌํ•ญ ํ™•์ธ ์ƒˆ๋กœ์šด ํŒŒ์ผ์ด Git์— ์ถ”๊ฐ€๋˜์ง€ ์•Š๋„๋ก ํ•ญ์ƒ git status๋กœ ignore ๊ทœ์น™์ด ์ œ๋Œ€๋กœ ์ ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์ถ”๊ฐ€๋œ ํŒŒ์ผ์€ git rm --cached <ํŒŒ์ผ๋ช…> ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ œ๊ฑฐํ•œ ํ›„ ignore ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

Last updated