ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

computer science

Git Pro 1์žฅ

ggasoon2 2023. 10. 9. 20:42

 

 

์•Œ์•„๊ฐˆ ๋‚ด์šฉ

 

1. VCS๊ฐ€ ๋ฌด์—‡์ธ์ง€

2. Git ์ด๋ผ๋Š”๊ฒŒ ๋ฌด์—‡์ธ์ง€

3. Git ํƒ„์ƒ ๋ฐฐ๊ฒฝ, ์‚ฌ์šฉ ์ด์œ 

4. Git vs VCS

 

 

 

 

 

 

 

VCS (Version Control System) ์ด๋ž€?

 

- ํŒŒ์ผ ๋ณ€ํ™”๋ฅผ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๊ธฐ๋กํ–ˆ๋‹ค๊ฐ€ ํŠน์ • ์‹œ์ ์˜ ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์ด๋‹ค.

e.g. ํฌํ† ์ƒต ํŽธ์ง‘ ํžˆ์Šคํ† ๋ฆฌ

 

 

 

 

 

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

 

์ตœ์ข…๋ณธ_2023_10_09_01.psd

์ตœ์ข…๋ณธ_2023_10_09_02.psd

์ตœ์ข…๋ณธ_2023_10_10_01.psd

 

์ด๋Ÿฐ์‹์œผ๋กœ ๋ฒ„์ „ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ

 

๋‹จ์ 

- ์ž˜๋ชป ๋ณต์‚ฌํ•œ๋‹ค๊ฑฐ๋‚˜

- ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ง€์›Œ์ง„๋‹ค๊ฑฐ๋‚˜

- ์ž˜๋ชป ์ €์žฅํ•œ๋‹ค๊ฑฐ๋‚˜

 

 

 

 

 

(๊ทธ๋ž˜์„œ ๋‚˜์˜จ๊ฒŒ)

RCS (Revision Control System)

- ๋กœ์ปฌ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

- ๋ณ€๊ฒฝ๋˜๋Š” ๋ถ€๋ถ„(Patch Set)์„ ๋กœ์ปฌ DB์— ์ €์žฅํ•˜๊ณ , ํ•ด๋‹น ์‹œ์ ์œผ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” VCS ๋„๊ตฌ์ค‘ ํ•˜๋‚˜

 

 

๋‹จ์ 

- ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ์ž‘์—…ํ•  ๊ฒฝ์šฐ ๊ณต์œ ๊ฐ€ ์–ด๋ ค์›€

 

 

 

 

(๊ทธ๋ž˜์„œ ๋‚˜์˜จ๊ฒŒ)

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

 

- ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•˜์—ฌ ๋ฒ„์ „์„ ๊ณต์œ ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ

- ๋ˆ„๊ฐ€ ์–ด๋–ค ์ž‘์—…์„ ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ

 

๋‹จ์ 

- ์ค‘์•™์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋ฉด ํ˜‘์—…, ๋ฐฑ์—… ๋ถˆ๊ฐ€..

- ์ค‘์•™์„œ๋ฒ„ DB๊ฐ€ ๋‚ ๋ผ๊ฐ€๋ฉด ํžˆ์Šคํ† ๋ฆฌ ์žƒ์Œ..

 

 

 

 

 

(๊ทธ๋ž˜์„œ ๋‚˜์˜จ๊ฒŒ)

๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DVCS)

- ํŒŒ์ผ ๋ฐ์ดํ„ฐ๋ฅผ ํžˆ์Šคํ† ๋ฆฌ์™€ ํ•จ๊ป˜ ๋ชจ๋‘ ๋ณต์‚ฌ

- ์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์ด ๋ณต์‚ฌ๋œ ํŒŒ์ผ๋กœ ๋‹ค์‹œ ์ž‘์—… ์‹œ์ž‘

- ๋˜ํ•œ ๋ฆฌ๋ชจํŠธ ์ €์žฅ์†Œ ์กด์žฌ, ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ˜‘์—… ๊ฐ€๋Šฅ

(2002๋…„)

 

 

 

 

 

์ดํ›„

- ๋น ๋ฅธ ์†๋„

- ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ

- ์ˆ˜์ฒœ ๊ฐœ์˜ ๋‹ค๋ฐœ์ ์ธ ๋ธŒ๋Ÿฐ์น˜

๋ฅผ ๋ชฉํ‘œ๋กœ, Git ์ด๋ผ๋Š” ๋ธŒ๋žœ์นญ ์‹œ์Šคํ…œ์ด ๋งŒ๋“ค์–ด์ง (2005๋…„)

 

 

 

Git ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹

 

์ด๋ ‡๊ฒŒ ๋ฒ„์ „๋งˆ๋‹ค ํŒŒ์ผ๋“ค์ด ๋ณ€ํ•œ๋‹ค๊ณ  ํ–ˆ์„๋•Œ,

 

 

ํŒŒ์ผ์ด ๋‹ฌ๋ผ์ง€์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ

Git์—์„œ๋Š” ์„ฑ๋Šฅ์„ ์œ„ํ•ด ํŒŒ์ผ์„ ์ƒˆ๋กœ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ์ด์ „ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋งํฌ๋งŒ ์ €์žฅํ•จ.

 

 

 

๊ทธ ์™ธ Git ํŠน์ง•

- ๋ชจ๋“  ๋ช…๋ น์„ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์žฅ์ ์ด ์žˆ๋‹ค.

- ๋ฐ์ดํ„ฐ ์ €์žฅ์‹œ SHA-1 ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•ด ์ฒดํฌ์„ฌ์„ ๋งŒ๋“ฆ.

- ๊ทธ๋ž˜์„œ Git ์—†์ด๋Š” ํŒŒ์ผ ์ƒํƒœ๋„ ์•Œ ์ˆ˜ ์—†๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ์–ด๋ฒ„๋ฆด ์ˆ˜๋„ ์—†์Œ

- ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ• ๋ฟ ์‚ญ์ œ๊ฐ€ ์—†์Œ.

 

 

 

 

Git 3๊ฐ€์ง€ ์ƒํƒœ

- Committed: ๋กœ์ปฌDB์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋จ์„ ์˜๋ฏธ

- Modified: ์ˆ˜์ •์€ ๋์œผ๋‚˜ Commit ๋˜์ง€ ์•Š์Œ

- Staged: ์ˆ˜์ •๋œ ํŒŒ์ผ์ด ๊ณง Commit ํ•  ๊ฒƒ์ด๋ผ๋Š” ํ‘œ์‹œ

 

 

 

 

Git 3๊ฐ€์ง€ ๋‹จ๊ณ„

- Working Directory: ํ”„๋กœ์ ํŠธ ํŠน์ •๋ฒ„์ „์„ ๊ฐ€์ ธ์˜จ ์ƒํƒœ

- Staging Area: ๊ณง ์ปค๋ฐ‹ํ•  ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š”๊ณณ

- Repository: ๊ฐ์ฒด DB๊ฐ€ ์ €์žฅ๋˜๋Š”๊ณณ

 

 

 

 

 

 

 

Git ์„ค์น˜ ๋ฐฉ๋ฒ•

 

Mac ๊ธฐ์ค€

ํ„ฐ๋ฏธ๋„์— git --version ๋งŒ ํ•ด๋„ ์„ค์น˜๊ฐ€ ๋œ๋‹ค๊ณ  ํ•˜๋„ค์š”

 

Window ๊ธฐ์ค€

http://gitscm.com/download/win ์—์„œ ๋‹ค์šด๋กœ๋“œ

 

 

 

 

 

์‚ฌ์šฉ์ž ์ •๋ณด ๋“ฑ๋ก

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

git config --list ๋กœ ์„ค์ •๊ฐ’ ํ™•์ธ ๊ฐ€๋Šฅ

 

 

 

 

 

 

 

 

๋Œ“๊ธ€