๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

 

โ€‹

GIT์„ ์™œ ์จ์š”?

1. ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ: ๋ฒ„์ „๋ณ„๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์„ค์ •ํ•˜์—ฌ, ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค.

2. ํ˜‘์—… ๋„๊ตฌ : ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋ฉฐ ์ตœ์ข…์ ์œผ๋กœ ๋‚˜์™€ ๋™๋ฃŒ์˜ ์ฝ”๋“œ๋ฅผ ํ•ฉ์น  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ๊ฐ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

3. ๋ถ„์‚ฐ ์ž‘์—…๋„๊ตฌ: SVN(subversion) ์ค‘์•™๊ด€๋ฆฌ ๋ฒ„์ „๊ด€๋ฆฌ ๋„๊ตฌ์™€ ๋Œ€๋น„๋˜๋ฉฐ, ์„œ๋กœ์˜ ์ž‘์—… ์ƒํƒœ๋ฅผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ณ , ์ฝ”๋“œ์˜ ์ถฉ๋Œ(conflict)๋„ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โ€‹โ€‹

GIT์˜ ๊ตฌ์„ฑ

Working directory

- ํ˜„์žฌ ์ž‘์—… ๊ณต๊ฐ„

- Git์ด ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์ง€๋งŒ, Untracked ์ƒํƒœ๋กœ ๊ตฌ๋ถ„

- CTRL+S๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ์ €์žฅํ–ˆ๋‹ค๋ฉด Working directory์— ์ €์žฅ๋œ ๊ฒƒ

 

Index = Stage = Staging area

- ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ์˜ฎ๊ธธ ์ค€๋น„ ๊ณต๊ฐ„

- Git์ด ์ถ”์ ํ•˜๊ณ  ์žˆ๋Š” Tracked์ƒํƒœ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ๋ฒ„์ „์œผ๋กœ ๋“ฑ๋ก๋˜๊ธฐ ์ „์˜ ์ƒํƒœ๋‹ค.

โ€‹

Repository

1) Local repository: PC์— ์žˆ๋Š” ์ €์žฅ์†Œ

2) Remote repository: Github์™€ ๊ฐ™์€ ์›๊ฒฉ์— ์žˆ๋Š” ์ €์žฅ์†Œ

โ€‹

โ€‹

GIT ์ž‘๋™ ์ˆœ์„œ

  1. git init: ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— .git ํด๋”๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์˜ ํŒŒ์ผ๋“ค์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Git๊ณผ ๊ด€๋ จ๋œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. git add: working directory์˜ ๋ณ€๊ฒฝ๋œ ์ž‘์—… ํŒŒ์ผ์„ staging area๋กœ ์ถ”๊ฐ€์‹œํ‚จ๋‹ค.
  3. git commit: Staging area์—์„œ Local repository๋กœ ํŒŒ์ผ์„ ๋ณด๋‚ธ๋‹ค.
  4. git push:  Local Repository์˜ ๋‚ด์šฉ์„ Remote Repository๋กœ ์—…๋กœ๋“œํ•œ๋‹ค.
  5. git clone, git pull: ์›๊ฒฉ์ €์žฅ์†Œ์—์„œ ๋กœ์ปฌ์ €์žฅ์†Œ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค. git clone์€ local์— ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ์ƒํƒœ์—์„œ ์›๊ฒฉ์ €์žฅ์†Œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ, git pull์€ local์— ์ด๋ฏธ ์žˆ๊ณ , ์›๊ฒฉ์ €์žฅ์†Œ์˜ ์ˆ˜์ •์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โ€‹

โ€‹

โ€‹

Reference

Git ๊ณต์‹ ๋ฌธ์„œ: https://git-scm.com/book/en/v2

Git ๊ณต์‹ ๋ฌธ์„œ (ํ•œ๊ธ€ํŒ): https://git-scm.com/book/ko/v2โ€‹

๋ฐ˜์‘ํ˜•