Git & GitHub

[Git/GitHub] - GitHub์— ์ž˜๋ชป ์˜ฌ๋ผ๊ฐ„ ํŒŒ์ผ ์ œ๊ฑฐํ•˜๊ธฐ(.gitignore)

์ฃผ๋ฐœ2 2021. 7. 17. 10:14
๋ฐ˜์‘ํ˜•

๐Ÿ“Ž  GitHub์— ์ž˜๋ชป ์˜ฌ๋ผ๊ฐ„ ํŒŒ์ผ ์ œ๊ฑฐํ•˜๊ณ  .gitignore์— ์ถ”๊ฐ€ํ•˜๊ธฐ

 

์ €๋Š” ํ‰์†Œ์— ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€ ์‹ค์ˆ˜๋กœ ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ๊นŒ์ง€ GitHub์— ์˜ฌ๋ฆฐ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌํ•ญ๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • NodeJS์˜ npm module
  • Java์˜ targetํด๋” ํ•˜์œ„ ํŒŒ์ผ๋“ค(.class)
  • ๋ฏผ๊ฐํ•œ ์ •๋ณด๋“ค(DB์ •๋ณด, AWS ๋น„๋ฐ€ ํ‚ค ๋“ฑ๋“ฑ)

 

ํŠนํžˆ๋‚˜ ์„ธ ๋ฒˆ์งธ์˜ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋“ค์„ GitHub์— ์ž˜๋ชปํ•ด์„œ ์˜ฌ๋ ธ์„ ๊ฒฝ์šฐ, ๊ฐ€๋” ํ•ด๋‹น ์ •๋ณด๋ฅผ ์ด์šฉํ•ด AWS์˜ ํญํƒ„ ๊ณผ๊ธˆ์„ ๋งž๋Š”๋‹ค๋Š” ๊ธ€์„ ๋ช‡ ๋ฒˆ ๋ณธ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ์š”, ๋”ฐ๋ผ์„œ ๋” ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์œ„์™€ ๊ฐ™์€ ๋‚ด์šฉ๋“ค์€ .gitignore ๋ผ๋Š” ํŒŒ์ผ์— ์ถ”๊ฐ€๋ฅผ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

.gitignore๋ž€ ?

.gitignore๋ž€ ๊ฐ„๋‹จํžˆ ๋งํ•ด Git ๋ฒ„์ „ ๊ด€๋ฆฌ์—์„œ ์œ„์˜ ์‚ฌํ•ญ๋“ค์ฒ˜๋Ÿผ ์ œ์™ธํ•  ํŒŒ์ผ ๋ชฉ๋ก์„ ์ง€์ •ํ•˜๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

.gitignore ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜๋ฉด GitHub์— ํ•ด๋‹น ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

 

* ์ธํ…”๋ฆฌ์ œ์ด์—์„œ gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š” :) 

https://elevatingcodingclub.tistory.com/72

 

[Git] IntelliJ์—์„œ .gitignore ์‚ฌ์šฉํ•˜๊ธฐ(commit ๋Œ€์ƒ์—์„œ ์ œ์™ธํ•˜๊ธฐ)

ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ .gitignore ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ณ  ์ปค๋ฐ‹ํ•˜๊ธฐ

elevatingcodingclub.tistory.com

 

 

 

GitHub์— ์ž˜๋ชป ์˜ฌ๋ผ๊ฐ„ ํŒŒ์ผ ์‚ญ์ œ

1) ๋จผ์ € ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ํŒŒ์ผ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

// ์›๊ฒฉ ์ €์žฅ์†Œ ๋ฐ ๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ํŒŒ์ผ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
$ git rm -r [File Name]

// ์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” ํŒŒ์ผ๋งŒ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.(๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ํŒŒ์ผ์€ ์‚ญ์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)
$ git rm --cached -r [File Name]

--cached ๋ช…๋ น์–ด๋Š” ์›๊ฒฉ์ €์žฅ์†Œ์˜ ํด๋” ๋ฐ ํŒŒ์ผ์„ ์‚ญ์ œํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ฃผ๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋งŒ์•ฝ --cached ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ  rm์„ ํ•  ๊ฒฝ์šฐ, ์›๊ฒฉ ์ €์žฅ์†Œ ๋ฐ ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์ „๋ถ€ ํŒŒ์ผ์„ ์‚ญ์ œํ•ด๋ฒ„๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ณดํ†ต gitignore์— ์ถ”๊ฐ€ํ•˜๋Š” ๋‚ด์—ญ๋“ค์€ ์›๊ฒฉ ์ €์žฅ์†Œ์—๋งŒ ์‚ญ์ œํ•˜๊ณ , ๋กœ์ปฌ ์ €์žฅ์†Œ์—๋Š” ํ•ด๋‹น ํด๋” ๋ฐ ํŒŒ์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

--cached ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

 

์ €๋Š” ์œ„ ์‚ฌ์ง„์—์„œ .idea ํด๋”๋ฅผ ์›๊ฒฉ์—์„œ๋Š” ์‚ญ์ œํ•˜๊ณ , ๋กœ์ปฌ์—๋Š” ๊ทธ๋Œ€๋กœ ๋†”๋‘˜ ์˜ˆ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— git rm --cached -r๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

// .idea ํด๋” ํ•˜์œ„์˜ ๋ชจ๋“  ํŒŒ์ผ ์‚ญ์ œ
$ git rm --cached -r .idea/

 

 

 

2) ๋‹ค์Œ์œผ๋กœ .gitignore ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

gitignore ์ƒ์„ฑ ์‚ฌ์ดํŠธ ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” .gitignore ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ IntelliJ ์—์„œ๋Š” gitignore ํ”Œ๋Ÿฌ๊ทธ์ธ ์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํžˆ ํด๋ฆญ๋งŒ์œผ๋กœ gitignore์— ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ• ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ƒ

 

.gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , ์œ„์—์„œ ์ œ๊ฑฐํ•œ .idea ํด๋”๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์œ„ ์‚ฌ์ง„์—์„œ .idea ํด๋”์˜ ์ƒ‰์ƒ์ด ์ฃผํ™ฉ์ƒ‰์œผ๋กœ ๋œ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์œ„์™€ ๊ฐ™์ด ์ฃผํ™ฉ์ƒ‰์˜ ํด๋”๊ฐ€ Git ๋ฒ„์ „ ๊ด€๋ฆฌ์—์„œ ์ œ์™ธํ•  ํด๋”์ž…๋‹ˆ๋‹ค.

 

 

 

 

3) ๋งˆ์ง€๋ง‰์œผ๋กœ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ ์šฉ(Push) ํ•ด์ค๋‹ˆ๋‹ค.

Git ๋ฒ„์ „๊ด€๋ฆฌ์—์„œ ์™„์ „ํžˆ ์ œ์™ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ„ 1~2 ๊ณผ์ •์„ ๋๋‚ธ ํ›„ commit & push๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

// ๋ฒ„์ „ ๊ด€๋ฆฌ์—์„œ ์™„์ „ํžˆ ์ œ์™ธํ•˜๊ธฐ ์œ„ํ•ด commit
$ git commit -m "Fixed untracked files"

// ์›๊ฒฉ ์ €์žฅ์†Œ(origin)์— push ์ง„ํ–‰
$ git push origin

 

 

์ €์˜ git status ์ƒํƒœ์ธ๋ฐ์š”, ์ €๋Š” ํ˜„์žฌ ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค๋„ ํ•จ๊ป˜ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ œ์™ธํ•œ ํŒŒ์ผ๋“ค์„ ์ง์ ‘ ์ปค๋ฐ‹ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

์œ„์™€ ๊ฐ™์ด ์‚ญ์ œ๋œ ํŒŒ์ผ๋“ค์„ commit & push ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

push๋ฅผ ํ•˜๊ณ  GitHub๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด .idea ํด๋”๊ฐ€ ์™„์ „ํžˆ ์‚ญ์ œ๋œ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๐Ÿ˜Š

 

์ธํ…”๋ฆฌ์ œ์ด ๊ธฐ์ค€์œผ๋กœ .idea ํด๋”๋‚˜ targetํด๋”๋„ ๋ณดํ†ต gitignore ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜์ง€๋งŒ,

ํŠนํžˆ ๋ฏผ๊ฐ„ํ•จ ์ •๋ณด๋“ค์€ ๊ผญ gitignore ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•ด์„œ GitHub์— ์˜ฌ๋ฆฌ์ง€ ์•Š๋„๋ก ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

 

 

 

 

 

References

 

 

๋ฐ˜์‘ํ˜•