Skip to content

Latest commit

ย 

History

History
129 lines (97 loc) ยท 8.63 KB

File metadata and controls

129 lines (97 loc) ยท 8.63 KB
title title-ko page_group page_order comments
Introduction
์†Œ๊ฐœ
rysgit
0
true

Introduction

Git์€ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ž‘์—…์„ ์œ„ํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(VCS, Version control system)์ด๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•ด์ฃผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ๋“ค์ด ์–ด๋””์„œ๋ถ€ํ„ฐ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ํŒŒ์•…ํ•ด ๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค. Git์€ ํฐ ํ”„๋กœ์ ํŠธ๋“ค์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์žˆ์–ด ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ์ด๋ฉฐ, ๋˜ํ•œ ๊ฐœ์ธ์ ์ธ ์—…๋ฌด๋ฐฉ์‹(workflow)์—๋„ ๋งŽ์€ ๋ณ€ํ™”๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

๊ฐœ์ • ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ์š”์•ฝ ์ •๋ฆฌ

Git์˜ ํ•ต์‹ฌ ์ฒ ํ•™์— ๋Œ€ํ•ด ์ข€ ๋” ์ž์„ธํžˆ ์–˜๊ธฐํ•  ๊ฒƒ์ด๋‹ค. ์ด์— ์•ž์„œ, ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ๋ฐœ์ „ ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž.

ํŒŒ์ผ๊ณผ ํด๋” (Files and Folders)

๊ฐœ์ • ๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์ „์—๋Š” ์˜ค์ง ํŒŒ์ผ๊ณผ ํด๋”๋งŒ ์žˆ์—ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ์ •์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ํ†ต์ฑ„๋กœ ๋ณต์‚ฌํ•ด์„œ ์ƒˆ๋กœ์šด ์ด๋ฆ„์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์ง€๊ธˆ๊ป my-term-paper-2.doc ๋ผ๋Š” ์‹์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ โ€œ๋ฐฑ์—…โ€์„ ์ €์žฅํ–ˆ๋Š”์ง€ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด ๋ณด์ž. ์ด๊ฒƒ์€ ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ๋งค์šฐ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์ด๋‹ค.

ํŒŒ์ผ๊ณผ ํด๋”๋ฅผ ์ด์šฉํ•œ ๊ฐœ์ • ๊ด€๋ฆฌ

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

๋กœ์ปฌ VCS (Local VCS)

๊ทธ๋ž˜์„œ, ๊ฐœ๋ฐœ์ž๋“ค์€ ํŒŒ์ผ ๊ฐœ์ •์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ „์šฉ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „(old version)๋“ค์„ ๋…๋ฆฝ์ ์ธ ํŒŒ์ผ๋กœ ์œ ์ง€ํ•˜๋Š” ๋Œ€์‹ , ์ƒˆ๋กœ์šด VCS๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํŒŒ์ผ๋“ค์„ ์ €์žฅํ–ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์— ๋Œ€ํ•œ ์กฐํšŒ๊ฐ€ ํ•„์š”ํ•  ๊ฒฝ์šฐ ํŒŒ์ผ์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๋Œ€์‹  VCS๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ, ์ฃผ์–ด์ง„ ์‹œ์ ์— ๋‹จ ํ•˜๋‚˜์˜ โ€œ์ฒดํฌ ์•„์›ƒ๋œ(checked out)โ€ ํ”„๋กœ์ ํŠธ ๋ณต์‚ฌ๋ณธ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์—ˆ๊ณ , ๊ฐœ์ •์‚ฌํ•ญ์ด ๋’ค์„ž์ด๊ฑฐ๋‚˜ ๋ถ„์‹ค๋  ๊ฐ€๋Šฅ์„ฑ์„ ์ œ๊ฑฐํ•ด ์ฃผ์—ˆ๋‹ค.

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

๋‹น์‹œ์—๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœ์ž์˜ ๋กœ์ปฌ ์ปดํ“จํ„ฐ(Local Computer)์—์„œ ๊ฐ€๋Šฅํ–ˆ๋‹ค. ์ฆ‰, ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค๋ผ๋ฆฌ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ณต์œ ํ•  ๋ฐฉ๋ฒ•์€ ์—†์—ˆ๋‹ค.

์ค‘์•™์ง‘์ค‘์‹ VCS (Centralized VCS)

์ค‘์•™์ง‘์ค‘์‹ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(CVCS, Centeralized VCS)๋ฅผ ์‚ดํŽด๋ณด์ž. ๊ฐœ๋ฐœ์ž์˜ ํ•˜๋“œ๋””์Šคํฌ์— ํ”„๋กœ์ ํŠธ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ €์žฅํ•˜๋Š” ๋Œ€์‹ ์—, ์ƒˆ๋กœ์šด CVCS ํ”„๋กœ๊ทธ๋žจ์€ ์„œ๋ฒ„์— ๋ชจ๋“  ๊ฒƒ์„ ์ €์žฅํ–ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ์ฒดํฌ์•„์›ƒํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ๋‹ค์‹œ ์ €์žฅํ–ˆ๋‹ค. ์ด ์„ค์ •์€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ”„๋กœ์ ํŠธ์— ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋‚˜์˜ ์ง„์ž…์ ์„ ์ œ๊ณตํ•˜์˜€๋‹ค.

์ค‘์•™์ง‘์ค‘์‹ ๋ฒ„์ „ ๊ด€๋ฆฌ

๋กœ์ปฌ VCS์— ๋น„ํ•ด ํฐ ๋ฐœ์ „์ด๊ธด ํ•˜์ง€๋งŒ, ์ค‘์•™์ง‘์ค‘์‹ ์‹œ์Šคํ…œ์€ ๋‹ค์Œ์˜ ์ƒˆ๋กœ์šด ๋ฌธ์ œ์ ์„ ์ œ์‹œํ–ˆ๋‹ค: ์‚ฌ์šฉ์ž ๋‹ค์ˆ˜๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ํŒŒ์ผ์— ์ ‘๊ทผํ•˜์—ฌ ์ž‘์—…ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? ๋‘ ์‚ฌ๋žŒ์ด ๊ฐ™์€ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ค‘์•™ ์„œ๋ฒ„์— commit์„ ์‹œ๋„ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ƒ์ƒํ•ด ๋ณด์ž. ๋ˆ„๊ตฌ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋˜์–ด์•ผ ํ• ๊นŒ?

CVCS๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ์ž‘์—…์„ ๋ฌด์‹œํ•˜์ง€(overriding) ๋ชปํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค. ๋งŒ์•ฝ ๋‘ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ถฉ๋Œ(conflict)ํ•˜๋ฉด, ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ˆ˜์ž‘์—…์œผ๋กœ ์ฐจ์ด์ ์„ ์ฐพ์•„ ๋ณ‘ํ•ฉ(merge)ํ•ด์•ผ ํ–ˆ๋‹ค. ์ด ํ•ด๊ฒฐ์ฑ…์€ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์€ ์—…๋ฐ์ดํŠธ(์ƒ๋Œ€์ ์œผ๋กœ ์ ์€ ์ถฉ๋Œ์„ ์˜๋ฏธ)์˜ ํ”„๋กœ์ ํŠธ์—๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ์œผ๋‚˜, ๋‹ค์ˆ˜์˜ ํ™œ๋™์ ์ธ ์ฐธ์—ฌ์ž๋“ค์ด ๋งค์ผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ์ถœํ•˜๋Š” ํ”„๋กœ์ ํŠธ์—๋Š” ์ ์šฉํ•˜๊ธฐ ํž˜๋“  ๊ฒƒ์œผ๋กœ ๋“œ๋Ÿฌ๋‚ฌ๋‹ค: ๋ชจ๋“  ๋ณ‘ํ•ฉ ์ถฉ๋Œ(merge conflict)์„ ํ•ด๊ฒฐํ•˜๊ณ  ์ „์ฒด ๊ฐœ๋ฐœ ํŒ€์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋  ์ˆ˜ ์—†์—ˆ๋‹ค.

๋ถ„์‚ฐ VCS (Distributed VCS)

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

๋ถ„์‚ฐ ๋ฒ„์ „๊ด€๋ฆฌ

์ด์ œ ๋”์ด์ƒ ์ค‘์•™ ์ €์žฅ์†Œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ๊ทธ๋“ค ์ž์‹ ์˜ ์†๋„์— ๋”ฐ๋ผ ๊ฐœ๋ฐœํ•˜๊ณ , ๋กœ์ปฌ์— ์—…๋ฐ์ดํŠธ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ถฉ๋Œ ๋ณ‘ํ•ฉ์„ ๋ฏธ๋ฃฐ ์ˆ˜ ๋„ ์žˆ์—ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DVCS, Distributed VCS)์€ ๋ถ„๋ฆฌ๋œ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜(branch)๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์–ด, ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์ถฉ๋Œ์„ ๋ณ‘ํ•ฉํ•˜๊ณ , ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด๋ฅผ ์‹คํ—˜ํ•˜๊ธฐ๊ฐ€ ๋”์šฑ ์‰ฌ์›Œ์กŒ๋‹ค.

DVCS์˜ ์ง€์—ญ์ ์ธ ํŠน์„ฑ์€ ๋” ์ด์ƒ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์„ ๋”์šฑ ๋” ๋น ๋ฅด๊ฒŒ ํ•ด์ฃผ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ์ ํŠธ์˜ ์™„์ „ํ•œ ์‚ฌ๋ณธ์„ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„ ๊ณ ์žฅ์˜ ์œ„ํ—˜, ์ €์žฅ์†Œ์˜ ์†์ƒ ํ˜น์€ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์†์‹ค ๊ฐ€๋Šฅ์„ฑ์ด CVCS ์ด์ „ ์‹œ์Šคํ…œ๋“ค๋ณด๋‹ค ๋”์šฑ ๋‚ฎ์•„์กŒ๋‹ค.

Git์˜ ํƒ„์ƒ

๊ทธ๋ž˜์„œ, ์šฐ๋ฆฌ๋Š” Git์— ๋„๋‹ฌํ–ˆ๋‹ค. Git์€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์ผ์ข…์˜ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค. 2005๋…„์— ๋ฆฌ๋ˆ…์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” 2002๋…„๋ถ€ํ„ฐ ์‚ฌ์šฉํ•ด ์˜จ ์ƒ์šฉ DVCS์ธ ๋น„ํŠธํ‚คํผ(BitKeeper) ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ๋ฌด๋ฃŒ ์‚ฌ์šฉ๊ถŒ์„ ์žƒ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด์— ๋Œ€์‘ํ•˜์—ฌ, ๋ฆฌ๋ˆ„์Šค ํ† ๋ฐœ์ฆˆ(Linus Torvalds)๋Š” ๋Œ€์•ˆ์œผ๋กœ ์ƒˆ๋กœ์šด ์˜คํ”ˆ์†Œ์Šค DVCS์˜ ๊ฐœ๋ฐœ์„ ์ฃผ์ฐฝํ–ˆ๋‹ค. ์ด๊ฒƒ์ด Git์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ์ด๋‹ค.

์ „์ฒด ๋ฆฌ๋ˆ…์Šค ์ปค๋„์„ ์œ„ํ•œ ์†Œ์Šค์ฝ”๋“œ ๊ด€๋ฆฌ์ž๋กœ์„œ, Git์€ ๋‹ค์Œ์„ ํฌํ•จํ•˜๋Š” ๋ช‡๊ฐ€์ง€ ๊ณ ์œ ํ•œ ์ œ์•ฝ์กฐ๊ฑด์„ ๊ฐ€์ง„๋‹ค:

  • ์‹ ๋ขฐ์„ฑ (Reliability)
  • ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์˜ ํšจ์œจ์ ์ธ ๊ด€๋ฆฌ
  • ๋ถ„์‚ฐ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ง€์›
  • ๋น„ ์„ ํ˜•(non-linear) ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ง€์›

๊ทธ ๋‹น์‹œ ๋‹ค๋ฅธ DVCS๋“ค์ด ์กด์žฌํ–ˆ์œผ๋‚˜ (์˜ˆ๋ฅผ ๋“ค๋ฉด, GNU์˜ Arch ํ˜น์€ David Roundy์˜ Darcs), ์–ด๋А ๊ฒƒ๋„ ์ด ์กฐ๊ฑด์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜์ง„ ๋ชปํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชฉํ‘œ์— ํž˜์ž…์–ด, Git์€ ์ˆ˜๋…„๊ฐ„ ํ™œ๋ฐœํ•œ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜์—ˆ๊ณ , ์ด์ œ๋Š” ์ œ๋ฒ• ์•ˆ์ •์„ฑ, ๋Œ€์ค‘์„ฑ, ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌ๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋‹ค.

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

์„ค์น˜

์•ž์œผ๋กœ ๋‚˜์˜ฌ ๋‚ด์šฉ์—์„œ๋Š” ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋ช…๋ น๋“ค์„ ์ ์šฉํ•ด ๋ณด๋ฉด์„œ Git์˜ ํŠน์ง•๋“ค์„ ์‚ดํŽด๋ณผ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋จผ์ €, ์‹คํ—˜์„ ์œ„ํ•œ Git ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. Git ๊ณต์‹ ์›น์‚ฌ์ดํŠธ์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋„์šฐ ์‚ฌ์šฉ์ž๋Š” Git Bash๋ผ๋Š” ํŠน๋ณ„ํ•œ ๋ช…๋ น ์‰˜(command shell)์„ ์„ค์น˜ํ•  ๊ฒƒ์ด๋‹ค. Git ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ๋Œ€์‹  ์ด ์‰˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. OS X์™€ ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž๋Š” ๊ทธ๋ƒฅ ์‰˜์—์„œ Git์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
์„ค์น˜๊ฐ€ ์ž˜ ๋˜์—ˆ๋Š”์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด, ์ƒˆ๋กœ์šด ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ด๊ณ  git โ€“version์„ ์‹คํ–‰ํ•ด ๋ณด์ž. git version 1.7.10.2 (Apple Git-33)์™€ ๋น„์Šทํ•˜๊ฒŒ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค.

์ค€๋น„!

๋ณธ *ํŠœํ† ๋ฆฌ์–ผ(Ryโ€™s Git Tutorial)*์€ Git์˜ ํŠน์ง•๋“ค์„ ์„ค๋ช…ํ•˜๊ณ ์ž ๋งŒ๋“ค์–ด์กŒ๊ณ , ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ช…๋ น์— ๋Œ€ํ•œ ๊ฐœ์š”๋งŒ์„ ์ œ๊ณตํ•œ๋‹ค. ํŠœํ† ๋ฆฌ์–ผ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋ ค๋ฉด ๋ˆˆ์œผ๋กœ๋งŒ ๋ณด์ง€๋ง๊ณ  ๋ช…๋ น์–ด๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•ด ๋ณด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ปดํ“จํ„ฐ ์•ž์— ์•‰์•„ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹œ์ž‘ํ•ด ๋ณด์ž!