Git vs Github

1. ๊ฐœ์š”

์ง€๊ธˆ๊นŒ์ง€ VSC(Visual Studio Code)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ Gibhub์— ์˜ฌ๋ ธ๋‹ค. ๊ทธ๋Ÿฐ ๊ณผ์ •์—์„œ $ git๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์˜€๋‹ค. ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ˜‘์—…ํ•˜๊ธฐ ์œ„ํ•ด ๊ผญ ์•Œ์•„์•ผ ํ•˜๋Š” ๊ทธ๋ฆฌ๊ณ  ํ•ญ์ƒ ๊ณ์— ์žˆ์–ด ์นœ์ˆ™ํ•œ git๊ณผ github์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.(์นœ์ˆ™ํ•˜์ง€๋งŒ ์ž˜ ๋‹ค๋ฃจ์ง„ ๋ชปํ•œ๋‹ค๐Ÿ˜…)


2. ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(VCS: Version Control System)

git๊ณผ github์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ธฐ ์ „ ๋จผ์ € ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(VCS: Version Control System)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ์ฝ”๋”ฉ์„ ํ•  ๋•Œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜ ๋ฌธ์„œ ์ž‘์—…์„ ํ•  ๋•Œ์—๋„ ํ•„์š”ํ•œ ์‹œ์Šคํ…œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ„ํš์„œ๋ฅผ ์ž‘์„ฑ์„ ํ•œ๋‹ค๊ณ  ํ•˜์ž. ์ดˆ๊ธฐ ๊ณ„ํš์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ฒ€ํ† ๋ฅผ ๋ฐ›์œผ๋ฉฐ ์ˆ˜์ •๋œ ๊ณ„ํš์„œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์—ฌ๋Ÿฌ๋ฒˆ์˜ ์ˆ˜์ •์„ ๊ฑธ์ณ ์ตœ์ข… ๊ณ„ํš์„œ๊ฐ€ ์™„์„ฑ๋œ๋‹ค. ์ด๋•Œ ํ•˜๋‚˜ํ•œ์˜ ๊ณ„ํš์„œ๋ฅผ ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ €์žฅํ•˜๊ฒŒ ๋˜๋ฉด ์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ž‘์„ฑํ•œ ๋ชจ๋“  ๊ณ„ํš์„œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ์ด๊ฒƒ์ด ์ตœ์ข… ๊ณ„ํš์„œ๊ฐ€ ์™„์„ฑ๋˜๊ธฐ ๊นŒ์ง€์˜ ๋ชจ๋“  ๋ฒ„์ „์˜ ๊ณ„ํš์„œ๊ฐ€ ๋œ๋‹ค.

ํ•˜์ง€๋งŒ ๊ฐ๊ฐ์˜ ๊ณ„ํš์„œ์˜ ์ด๋ฆ„์ด ์ค‘๊ตฌ๋‚œ๋ฐฉ์ด๋ผ๋ฉด? ๊ณ„ํš์„œ์—์„œ ์–ด๋–ค ๋‚ด์šฉ์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด? ์šฐ๋ฆฌ๋Š” ์ตœ์ข… ๊ณ„ํš์„œ๋ฅผ ์™„์„ฑํ•˜๊ธฐ ๊นŒ์ง€ ๋ณต์žกํ•œ ๊ณผ์ •์„ ๊ฑฐ์น  ์ˆ˜ ๋„ ์žˆ๋‹ค. ๋˜ํ•œ ํ˜ผ์ž์„œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ•จ๊ป˜ ๊ณ„ํš์„œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋ฉด ๋ณต์žก์„ฑ์€ ๊ฐ€์ค‘๋œ๋‹ค.

๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•œ๋‹ค.

  • ํŒŒ์ผ์˜ ๋ฒ„์ „ ์ด๋ ฅ์„ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค.

  • ํฐ ํŒŒ์ด๋ฅด์ด ๋ฒ„์ „์„ ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฉด ์šฉ๋Ÿ‰์„ ๋งŽ์ด ์ฐจ์ง€ํ•˜๊ณ  ๋Š๋ฆฌ๋‹ค.

  • ์‹ค์ˆ˜๋กœ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ๋ฒ„์ „์„ ๋ฎ์–ด์”Œ์šฐ๋Š” ๋“ฑ ์‹ค์ˆ˜์˜ ์—ฌ์ง€๊ฐ€ ํฌ๋‹ค.

์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค.

๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ๊ธฐ๋กํ•จ์œผ๋กœ์จ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋ณต๊ตฌํ•˜๊ฑฐ๋‚˜ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ์žˆ์ง€๋งŒ ๊ทธ ์ค‘์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์˜ค๋Š˜ ์‚ดํŽด๋ณผ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ๋ถ„์‚ฐ์‹ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ธ(DVCS, Distributed Version Control System)์ธ git์ด๋‹ค.


3. Git

  • ์˜คํ”ˆ ์†Œ์Šค ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

  • ๋กœ์ปฌ์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ์— ์‚ฌ์šฉ

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

ํ•˜์ง€๋งŒ ๋‹จ์ ์œผ๋กœ๋Š” ๊ฐœ์ธ์ ์ธ ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ํ˜‘์—…์„ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋”๋ผ๋„ ๊ฐ์ž์˜ ์ปดํ“จํ„ฐ์—์„œ๋งŒ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ์˜ ์ž‘์—…์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณต์œ ํ•  ์ˆ˜ ์—†๋‹ค.


4. Github

  • Git Repository๋ฅผ ์œ„ํ•œ ์›น ๊ธฐ๋ฐ˜ ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค

  • ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋กœ์ปฌ์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌํ•œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ ๊ณต์œ  ๊ฐ€๋Šฅ

  • ๋ถ„์‚ฐ ๋ฒ„์ „ ์ œ์–ด, ์•ก์„ธ์Šค ์ œ์–ด, ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ, ๋ฒ„๊ทธ ์ถ”์ , ๊ธฐ๋Šฅ ์š”์ฒญ ๋ฐ ์ž‘์—… ๊ด€๋ฆฌ๋ฅผ ์ œ๊ณต

Github๋Š” Git์ €์žฅ์†Œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค๋กœ ๊ฐœ์ธ์˜ ๋กœ์ปฌ ์„œ๋ฒ„ ๋ฐ–์—์„œ Git ๋ฒ„์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ๊ธฐ๋กํ•˜๋Š” ์˜จ๋ผ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. ์ด๋Ÿฌํ•œ Github๋Š” Git์˜ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•œ๋‹ค. ์ง๊ด€์ ์ด๊ณ , ์‹œ๊ฐํ™”๋˜์–ด ์žˆ๋Š” ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋˜ํ•œ ์ž‘์—…๊ด€๋ฆฌ ๋„๊ตฌ์™€ ๊ธฐ๋ณธ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

Git์€ ํ˜ผ์ž๋งŒ์˜ ์ž‘์—… ๊ณต๊ฐ„์ด๋ผ๋ฉด Github์€ ์ „์„ธ๊ณ„์˜ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค๊ณผ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•จ์œผ๋กœ์จ Git ๋ธŒ๋žœ์น˜์— ์ˆ˜์ •๊ณผ ๊ฐœ์„ ์˜ ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.


5. Conclusion

์š”์ฆ˜ ํ”ํžˆ ๋งํ•˜๋Š” ์ž”๋”” ์‹ฌ๊ธฐ๋ฅผ ์œ„ํ•ด ์—ด์‹ฌํžˆ ๊นƒํ—ˆ๋ธŒ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถˆ๊ณผ 3๋…„ ์ „ ์ฒ˜์Œ ์ฝ”๋”ฉ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ์„ ๋• ๊นƒํ—ˆ๋ธŒ๋ผ๋Š” ์กด์žฌ๋ฅผ ๋ชฐ๋ผ์„œ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” ๋กœ์ปฌ์—๋งŒ ์กด์žฌํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊นƒํ—ˆ๋ธŒ๋ฅผ ์•Œ๊ฒŒ ๋œ ํ›„ ๊นƒํ—ˆ๋ธŒ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ด์šฉํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ๋„ ํ•˜์˜€๋‹ค. ๋˜ํ•œ ํ‹ฐ์ฒ˜์บ” ํ”„๋กœ์ ํŠธ๋„ ๊นƒํ—ˆ๋ธŒ์—์„œ ํ˜‘์—…์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊นƒํ—ˆ๋ธŒ๋Š” ๊ฐœ๋ฐœํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ํ•„์ˆ˜์ ์ธ ์š”์†Œ๊ฐ€ ์•„๋‹Œ๊ฐ€ ์‹ถ๋‹ค.(๋ฌผ๋ก  GitLab, BitBucket๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋„ ์žˆ๋‹ค.) ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋ฌด์˜์‹์ ์œผ๋กœ git ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด Github์— ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ ธ๋‹ค. ๊ณ„์† ์จ์˜ค๋˜ ๋ช…๋ น์–ด๋งŒ ์‚ฌ์šฉํ–ˆ๊ธฐ์— ์ „์ฒด์ ์ธ ์ง€์‹์€ ๋งŽ์ด ๋ถ€์กฑํ•˜๋‹ค. ์•ž์œผ๋กœ git ๋ช…๋ น์–ด, Github์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌ๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค๐Ÿ˜„


์ฐธ๊ณ 

๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (Version Control System) Git vs GitHub ์ฐจ์ด์  [Git] ๊นƒ(Git)๊ณผ ๊นƒํ—ˆ๋ธŒ(Github) ์ฐจ์ด


๐Ÿ“… 2022-08-11

Last updated