jo._.on_ 2024. 1. 28. 16:10

 

1. Git๊ณผ GitHub


 Git๊ณผ GitHub์˜ ๊ด€๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋Š” ๊ฑธ๊นŒ? ๋ณธ๊ฒฉ์ ์œผ๋กœ GitHub ์‚ฌ์šฉ๋ฐฉ๋ฒ•๊ณผ ๊ทธ ์—ญํ• (๋ณธ์งˆ)์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ ๋ณผ ์ฐจ๋ก€๋‹ค. ์•ž์„œ Git ์ด๋ผ๋Š” ๊ฐ•๋ ฅํ•œ '๋ฒ„์ „๊ด€๋ฆฌ, ๋ฐฑ์—…, ํ˜‘์—…' ํˆด์„ ์‚ดํŽด๋ณด์•˜๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ Git ์„ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ ๋ฐ”๋กœ 'ํด๋ผ์ด์–ธํŠธ'์™€ '์„œ๋ฒ„'์ด๋‹ค. 

์ƒํ™œ์ฝ”๋”ฉ 'Gitlab' ์ˆ˜์—… ํŽธ

  • Client: Git ์ปค๋งจ๋“œ ๋ผ์ธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์†Œ์ŠคํŠธ๋ฆฌ, GitHub desktop ๋“ฑ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋‚ด์žฌํ•œ ๊ณณ.
  • Server: Git ์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„ ์„œ๋กœ ๋‹ค๋ฅธ ์ƒํƒœ์˜ ๋ฒ„์ „๋“ค, ํŒŒ์ผ, ๋‚ด์šฉ์„ ์ €์žฅํ•˜๋Š” ๊ณณ.

๋ˆ„๊ตฌ๋‚˜ ์•Œ ๋ฒ•ํ•œ Dropbox ๋ผ๋Š” ์„œ๋น„์Šค์™€์˜ ๋น„๊ต๋ฅผ ํ†ตํ•ด ๊ฐœ๋…์„ ์‚ดํŽด๋ณด์ž. Dropbox๋„ Git ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Client๊ฐ€ ์กด์žฌํ•˜๊ณ , Server๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ•˜์ง€๋งŒ, Dropbox๋Š” ์—„์—ฐํžˆ ๋ˆ์„ ๋ฐ›๊ณ  ์šด์˜์„ ํ•˜๋Š” ์„œ๋น„์Šค์ด๊ธฐ์—(์˜คํ”ˆ์†Œ์Šค๊ฐ€ x), Dropbox ์ œํ’ˆ๋“ค๋งŒ ์กด์žฌํ•œ๋‹ค. ๋ฐ˜๋ฉด, Git ์€ ์˜คํ”ˆ์†Œ์Šค๋ผ๋Š” ๊ฑฐ๋Œ€ํ•œ ์ƒํƒœ๊ณ„ ์œ„์— ์กด์žฌํ•˜๊ธฐ์— ์—ฌ๋Ÿฌ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋‚ด์žฌํ•œ๋‹ค.

 ๊ทธ ๊ฐ€์šด๋ฐ ์šฐ๋ฆฌ๊ฐ€ ์ตํžˆ ๋“ค์–ด ์•Œ๊ณ  ์žˆ๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ๋ฐ”๋กœ 'GitHub'์ด๋ฉฐ, ๊ทธ ์ €์žฅ์†Œ(์„œ๋ฒ„)์˜ ์—ญํ• ๋กœ์จGit์˜ ์—…๋ฌด๋ฅผ ๋Œ€๋ฆฌ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. (๋”ฐ๋ผ์„œ Git๊ณผ GitHub๋Š” ๊ต‰์žฅํžˆ ๊ฐ€๊น์ง€๋งŒ ์—„์—ฐํžˆ ๋‹ค๋ฅธ ์กด์žฌ๋ผ๊ณ  ๋ด์•ผ ํ•œ๋‹ค. Git์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ €์žฅ์†Œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์˜ ์—ญํ• ์„ ๋ฐ”๋กœ GitHub๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ!!)

 

2. Sign In/Sign Up


 

https://github.com

 

3. Repository


 'Repository', ๋ ˆํฌ๋ผ๊ณ ๋„ ์ค„์—ฌ ๋ถ€๋ฅด๋Š” ๊นƒํ—™์˜ ์›๊ฒฉ ์ €์žฅ์†Œ๋‹ค. ํ”ํžˆ ๋กœ์ปฌ(local)์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์šฐ๋ฆฌ์˜ ์ปดํ“จํ„ฐ์—์„œ GitHub์˜ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๋‚ด ์ •๋ณด๋ฅผ ํ™•์žฅ(or ๋ฐฑ์—…)ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.

 ํ˜‘์—…์„ ์ง„ํ–‰ํ•  ๋•Œ์˜ ์ฐธ๊ณ ํ•  ์ ์ด ์žˆ๋‹ค. ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ Git ๋ฒ„์ „ ์ œ์–ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํŒ€์›๊ณผ ํ•จ๊ป˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ PULL ํ•˜๊ณ  PUSHํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ํ˜‘์—… ๊ธฐ๋Šฅ์€ ์˜ค์ง ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ๋งŒ ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” 'Git-Flow ์ „๋žต'๊ณผ ๊ฐ™์€ Git ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋˜ ๋‹ค๋ค„๋ด์•ผ ํ•œ๋‹ค. (๋‚˜์ค‘์—!!)

์ถœ์ฒ˜: https://nulab.com

 

 ์•„๋ž˜ ๋ณด์ด๋Š” ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์”ฉ ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•ด๋ณด๊ณ , ๋‚ด ์ •๋ณด์™€ ํŒŒ์ผ๋“ค์„ ์—…๋กœ๋“œํ•ด๋ณด์ž! 

 

New Repo) 

์ƒํ™œ์ฝ”๋”ฉ 'OpenTutorial' GitHub ์ €์žฅ์†Œ ์˜ˆ์‹œ)

 

์ƒ์„ฑ)

์›ํ•˜๋Š” ์ €์žฅ์†Œ๋ช…์„ ๋ถ™์ด๋ฉด ๋œ๋‹ค.

 

๋”๋ณด๊ธฐ

์—ฌ๊ธฐ์„œ ์ €์žฅ์†Œ์˜ ๊ณต๊ฐœ ์—ฌ๋ถ€๋ฅผ Public/Private์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์šฐ๋ฆฌ๋Š” ํšŒ์‚ฌ์˜ ๋‚ด๋ถ€ ์ •๋ณด๋‚˜ ๋น„๋ฐ€๋ฆฌ์— ๊ด€๋ฆฌํ•ด์•ผ ํ•  ์š”์†Œ๋“ค์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— public์œผ๋กœ ์„ค์ •ํ•ด ์•ž์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ €์žฅํ•  ๊ฒƒ์ด๋‹ค.

  • public : ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ, ๋Œ€์ค‘์—๊ฒŒ ๊ณต๊ฐœํ•  ํ”„๋กœ์ ํŠธ, ์ •๋ณด, ํŒŒ์ผ ๋“ฑ...
  • private : ๋…ธ์ถœ๋˜์–ด์„  ์•ˆ๋˜๋Š” ํ”„๋กœ์ ํŠธ, ํšŒ์‚ฌ ๋‚ด๋ถ€ ์ •๋ณด ๋“ฑ..

 

ํ”„๋กœ์ ํŠธ ์—…๋กœ๋“œ)

 ๊นƒํ—™์—์„œ ์ค‘์š”ํ•˜๊ฒŒ ์—ฌ๊ธฐ๋Š” ๋ช‡ ๊ฐ€์ง€ ํ‚ค์›Œ๋“œ๋ฅผ GitHub ์— ์žˆ๋Š” GIT ์ €์žฅ์†Œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์ž. 

  • commit : ์ƒˆ๋กœ์šด ๋ฒ„์ „๊ณผ ์ด์ „ ๋ฒ„์ „๋“ค(์ฆ‰, ๋‹ค๋ฅธ ์ƒํƒœ์˜ ์ •๋ณด)
  • contributor : ๊ธฐ์—ฌ์ž
  • Fork : ๋ณต์ œํ•ด ๊ฐ„ ์ˆ˜
  • Pull Requests : ์ƒˆ๋กœ์šด ์š”์ฒญ ์ˆ˜

 ์ด์™ธ์—๋„ ์ฃผ์š”ํ•œ ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ๊ฐ•๋ ฅํ•œ ํˆด๋กœ์จ ๊นƒํ—™์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ›Œ๋ฅญํ•œ ๋ฒ„์ „๊ด€๋ฆฌ, ๋ฐฑ์—…, ํ˜‘์—… ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•œ๋‹ค. ๋” ๋‹ค์–‘ํ•˜๊ณ  ์ค‘์š”ํ•œ ํ‚ค์›Œ๋“œ๋“ค๋„ ์กด์žฌํ•œ๋‹ค. (๋‹ค์Œ ๊ธ€์—์„œ ๋” ์ž์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณด์ž.)

 ์ด์ œ ๋ณธ์ธ๋งŒ์˜ ๋ ˆํฌ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์›๊ฒฉ ์ €์žฅ์†Œ GitHub๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค!! ์ด์ œ Git-Flow ์ „๋žต๊ณผ ํ•จ๊ป˜ Github๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๊ฒฝํ—˜ํ•˜๋Ÿฌ ๊ฐ€๋ณด์ž.