๐Ÿ—“๏ธํ˜•์ƒ๊ด€๋ฆฌ/Git

# gitignore ์„ค์ •, commit ์‹œ ์ œ์™ธํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ญ‰์ง€๋ง˜ 2025. 4. 1. 10:45

๊ธฐ์กด svn๊ณผ ์ „์ž์ •๋ถ€ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋˜์–ด์žˆ๋˜ ํ”„๋กœ์ ํŠธ๋ผ

๋„ˆ๋ฌด ๋งŽ์€๊ฒƒ๋“ค์ด commit๋˜์„œ ์ œ์™ธํ• ๊ฒƒ๋“ค์„ ์ฒ˜๋ฆฌํ•ด์•ผ๋๋‹ค.

 

gitignore ํŒŒ์ผ ๋งŒ๋“œ๋Š” ๋ฒ•

 

  • ๋ฉ”๋ชจ์žฅ ์—ด๊ธฐ
  • ์•„๋ž˜ ๋‚ด์šฉ ๋ถ™์—ฌ๋„ฃ๊ธฐ
  • ์ €์žฅํ•  ๋•Œ ํŒŒ์ผ ์ด๋ฆ„์„ ".gitignore" (ํ™•์žฅ์ž ์—†์ด!) ๋กœ ์ €์žฅ
# ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ
/target/

# ์ดํด๋ฆฝ์Šค ์„ค์ •
.classpath
.project
.settings/

# IntelliJ ์„ค์ •
.idea/
*.iml

# SVN
.svn/

# ๋กœ๊ทธ/๋ฐฑ์—…/๊ธฐํƒ€ ์ž„์‹œํŒŒ์ผ
*.log
*.bak
*.tmp
*.swp

# ์šด์˜์ฒด์ œ ๋ณ„
.DS_Store
Thumbs.db

# ํ™˜๊ฒฝ๋ณ€์ˆ˜๋‚˜ ๋ฏผ๊ฐํ•œ ์„ค์ •ํŒŒ์ผ
.env
*.key
*.pem
*.crt

# ๊ธฐํƒ€
*.zip
*.jar
*.war

 

์ €์žฅ ํ›„ ํ”„๋กœ์ ํŠธ ์•ˆ์— ๋„ฃ์–ด๋†“์œผ๋ฉด

์ž๋™์œผ๋กœ ์ถ”์ ๋˜์ง€ ์•Š๊ณ  ํ•ด๋‹น ํŒŒ์ผ๋“ค์ด ์ œ์™ธ๋œ๋‹ค.

 

๋งŒ์•ฝ ํ•œ๋ฒˆ์ด๋ผ๋„ commit๋œ ํŒŒ์ผ๋“ค์€ ignore์— ๋„ฃ์–ด๋„ ์†Œ์šฉ์—†์œผ๋‹ˆ

git rm --cached ๊ฒฝ๋กœ/ํŒŒ์ผ๋ช…
git commit -m "gitignore ์ ์šฉ: ๊ฒฝ๋กœ/ํŒŒ์ผ๋ช… ๋ฌด์‹œ"
git push

์ดํ›„ .gitignore์— ๋“ฑ๋กํ•˜๋ฉด ๋”์ด์ƒ ์ถ”์ ๋˜์ง€์•Š๋Š”๋‹ค.

 

์ด๋ ‡๊ฒŒ ์•ˆํ•˜๊ณ 

commit ๋ฆฌ์ŠคํŠธ์—์„œ ์ œ์™ธํ•˜๊ฒ ๋‹ค ํ•˜๋ฉด

# 1. ์ผ๋‹จ ์ „์ฒด add
git add .

# 2. ์ œ์™ธํ•  ํŒŒ์ผ๋งŒ unstage
git reset ๊ฒฝ๋กœ/ํŒŒ์ผ๋ช…

# 3. ๋‚˜๋จธ์ง€ ์ปค๋ฐ‹
git commit -m "์ž‘์—… ์ปค๋ฐ‹ (๋ฏผ๊ฐํŒŒ์ผ ์ œ์™ธ)"

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•ด๋‹น ํŒŒ์ผ์€ ์ปค๋ฐ‹์—์„œ ๋น ์ง€๊ฒŒ๋œ๋‹ค.

 

์ปค๋ฐ‹ํ•˜๊ธฐ์ „

git status

๋กœ ์–ด๋–ค ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ• ๊ฑด์ง€ ํ•ญ์ƒ ํ™•์ธํ•˜๋Š” ์Šต๊ด€์„ ๊ฐ€์ง€์žฅ!!