๋ฐฑ์—”๋“œ

[JAVA/Intellij] ํ”„๋กœ์ ํŠธ Github ์—ฐ๋™

๐Ÿช„ํ•˜๋ฃจ๐Ÿช„ 2023. 5. 15. 21:35
728x90

์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” Intellij ํ”„๋กœ๊ทธ๋žจ์—์„œ ์–ด๋–ป๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ Github์— ์—ฐ๋™์‹œํ‚ฌ์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

 

0. Github ๋ ˆํฌ์ง€ํฌ๋ฆฌ ์ƒ์„ฑ

1. ํ”„๋กœ์ ํŠธ์— .gitignore ํŒŒ์ผ ์ถ”๊ฐ€

.gitignore ์ด๋ž€?

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

Git์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ, ๋ณด์•ˆ์ƒ ์œ„ํ—˜ํ•œ ํŒŒ์ผ์ด๋‚˜ ์›ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ์„ ์ œ์™ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค๋ฉด,

  • [NodeJS] npm module
  • Java ์ปดํŒŒ์ผ๋œ ํŒŒ์ผ (.class)
  • Java ๋ณด์•ˆ ๊ด€๋ จ๋œ ํŒŒ์ผ (application.yml or application.properties)
  • AWS ๋น„๋ฐ€ ํ‚ค(aws-access-key, aws-secret-access-key), JWT ๋น„๋ฐ€ ํ‚ค ๋“ฑ์ด ์žˆ๋‹ค.

 

gitignore ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

1) ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ์ž…๋ ฅํ•˜์—ฌ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ 2) ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

1) .gitignore ํŒŒ์ผ ์ƒ์„ฑ

gitignore.io

๋‹ค์Œ url์—์„œ ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” '์šด์˜์ฒด์ œ, ๊ฐœ๋ฐœํ™˜๊ฒฝ(IDE), ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด'๋ฅผ ์ž…๋ ฅํ•œ ๋’ค ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

[ALT]-[a] → [CTRL]-[c] : ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ๊ธ€์ž๋“ค์„ ๋ณต์‚ฌํ•œ ๋’ค,

ํ”„๋กœ์ ํŠธ์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— .gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ

[CTRL]-[v] : ๋ถ™์—ฌ๋„ฃ์€ ๋’ค,

[CTRL]-[s] : ์ €์žฅํ•œ๋‹ค.

 

2) .gitignore ํ”Œ๋Ÿฌ๊ทธ์ธ ์ด์šฉ

[shift]+[shift] : shift key๋ฅผ ๋น ๋ฅด๊ฒŒ ๋‘ ๋ฒˆ ๋ˆ„๋ฅด๋ฉด ์•„๋ž˜ ์™ผ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋น ๋ฅธ ์‹คํ–‰ ์ฐฝ์ด ๋‚˜ํƒ€๋‚œ๋‹ค.

์ž…๋ ฅ์ฐฝ์— plugins์„ ์ž…๋ ฅํ•˜๊ณ  ์„ ํƒํ•œ๋‹ค.

๊ทธ๋‹ค์Œ Marketplace ํƒญ์„ ์„ ํƒํ•œ ๋’ค, ์ž…๋ ฅ์ฐฝ์— gitignore์„ ์ž…๋ ฅํ•œ ๋’ค ์„ค์น˜ํ•œ๋‹ค. 

[Apply] ๋ฒ„ํŠผ์„ ์„ ํƒํ•ด ์ ์šฉ์‹œํ‚จ ๋’ค, [OK] ๋ฒ„ํŠผ์„ ์„ ํƒํ•ด ๋น ์ ธ๋‚˜์˜จ๋‹ค.

.gitignore  ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜

 

.gitignore ํŒŒ์ผ์€ ๋ณดํ†ต Github ์—…๋กœ๋“œํ•  ํ”„๋กœ์ ํŠธ์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜์‹œํ‚จ๋‹ค.

ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•œ ๋’ค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด, New์— .ignore File ๋ฉ”๋‰ด๊ฐ€ ์ƒ๊ธด ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์„ ํƒํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€  ์ฐฝ์ด ๋‚˜ํƒ€๋‚œ๋‹ค.

์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ ํƒํ•œ ๋’ค [Generate] ๋ฒ„ํŠผ์„ ์„ ํƒํ•˜๋ฉด, .gitignore ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.

 

 

์ด์ œ ์ œ์™ธํ•˜๊ณ  ์‹ถ์€ ํŒŒ์ผ์ด๋‚˜ ํด๋”์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด์ž.

 

ํ•„์ž์˜ ๊ฒฝ์šฐ application.properties๋‚˜ application.yml ํŒŒ์ผ์„ ์ œ์™ธํ•˜๊ณ  ์‹ถ์–ด์„œ

.gitignore ํŒŒ์ผ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ๊ตฌ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

application.yml
application.properties

 

 

2. Intellij Github ์—ฐ๋™

ํ”„๋กœ์ ํŠธ๋ฅผ ๊นƒํ—ˆ๋ธŒ์— ์—ฐ๋™์‹œํ‚ค๋Š” ๋ฐ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

1) ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒˆ๋กœ์šด Repository๋กœ ์ƒ์„ฑํ•˜์—ฌ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ 2) ๊ธฐ์กด์˜ Repository์— ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

1) ํ”„๋กœ์ ํŠธ ์ž์ฒด๋ฅผ ์ƒˆ๋กœ์šด Repository๋กœ ์ƒ์„ฑํ•˜์—ฌ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•

 [VCS]-[Share Project on Github] ์„ ํƒ

 

[VCS]-[Share Project on Github]

Repository name์„ ์ž…๋ ฅํ•œ ๋’ค ์˜ต์…˜๋“ค์„ ์„ ํƒํ•˜๊ณ  2)๋ฒˆ์˜ -git commit ๊ณผ์ •์„ ๋™์ผํ•˜๊ฒŒ ์ง„ํ–‰ํ•œ๋‹ค.

 

share project on github

 

2) ๊ธฐ์กด์˜ Repository์— ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•

โ‘   Git ์‹คํ–‰ ์„ค์ •

git.exe ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ธฐ์–ตํ•ด ์•„๋ž˜ ํŒŒ๋ž€์ƒ‰ ๋ถ€๋ถ„์— ์ž…๋ ฅํ•œ๋‹ค.

 

enter git.exe file directory path

 

โ‘ก  GitHub ๊ณ„์ • ์—ฐ๋™

๊ทธ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•ด ๊นƒํ—ˆ๋ธŒ์— ๋กœ๊ทธ์ธํ•œ๋‹ค.

 

github login

 

โ‘ข  Github Repository์— ํ”„๋กœ์ ํŠธ ์—ฐ๋™

- Create Git Repository(ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ)

๋น ๋ฅธ ์‹คํ–‰([shift]+[shift])์—์„œ create git repository๋ฅผ ์ž…๋ ฅํ•œ ๋’ค ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์„ ํƒํ•œ๋‹ค.

 

create git repository

์ดํ›„, ์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•œ ๋’ค OK ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

 

- Git Add (ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ํŒŒ์ผ๋“ค์„ ์Šคํ…Œ์ด์ง• ์˜์—ญ์— ์ถ”๊ฐ€)

Git-Add ๋ฒ„ํŠผ์„ ์„ ํƒํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ๋“ค์„ ์Šคํ…Œ์ด์ง• ์˜์—ญ์— ์ถ”๊ฐ€ํ•œ๋‹ค.

 

git add

 

- Git Commit (๋ฐฐํฌ ํ™•์ •)

๊ทธ๋‹ค์Œ Git-Commit์„ ์„ ํƒํ•˜๊ณ  ๋ณ€ํ™”์— ๋Œ€ํ•ด ์ฒดํฌํ•œ ๋‹ค์Œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž…๋ ฅํ•œ ๋’ค, commit ํ•œ๋‹ค.

 

git commit

- ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ Github์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ํ•˜์œ„์— ์—ฐ๋™

์•„๋ž˜ url์— ๊ธฐ์กด์˜ Github ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

https://github.com/์‚ฌ์šฉ์ž์ด๋ฆ„/(๊ธฐ์กด์˜)๋ ˆํฌ์ง€ํ† ๋ฆฌ์ด๋ฆ„ 

github ๋ ˆํฌ์ง€ํ† ๋ฆฌ์™€ ์—ฐ๋™

 

๋ธŒ๋žœ์น˜ ์ข…๋ฅ˜๋ฅผ ์„ ํƒํ•œ ๋’ค(main, master), push ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๊นƒํ—ˆ๋ธŒ์— ์—…๋กœ๋“œํ•œ๋‹ค.

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๊นƒํ—ˆ๋ธŒ์— ๋“ค์–ด๊ฐ€ ํ•ด๋‹น ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์ž˜ ์—…๋กœ๋“œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

(๋ณธ์ธ์˜ ๊ฒฝ์šฐ ๊ฐ•์˜์˜ ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด main ๋ธŒ๋ Œ์น˜์—๋Š” ์ •๊ทœ ํ”„๋กœ์ ํŠธ๋ฅผ, master ๋ธŒ๋ Œ์น˜์—๋Š” ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฐ๋™ํ•˜์˜€์œผ๋‚˜,

728x90