YOONJI
article thumbnail


 

 

Git ์ดˆ๊ธฐ ์„ค์ •

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋“ค์–ด๊ฐ€์„œ, 'git init' ๋ช…๋ น์„ ์ž…๋ ฅํ•œ๋‹ค.

Initialized empty Git repository in ~~๊ฐ€ ๋œฌ๋‹ค๋ฉด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋œ ๊ฒƒ

ํ”„๋กœ์ ํŠธ๋Š” ์ด์ œ git์œผ๋กœ ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ

$ cd [ํ”„๋กœ์ ํŠธ๋ช…]
$ git init

 

 

์ฆ‰, ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€์— .git์ด๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋œ ๊ฒƒ์ด๋ฉฐ

git์€ .git ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ๋“ค์„

์•Œ์•„์„œ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ ์šฐ๋ฆฌ๊ฐ€ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ.

 

Git ์‚ฌ์šฉ์ž ์ •๋ณด ์„ค์ •

์„ค์ •(configuration)์„ ์˜๋ฏธํ•˜๋Š” config๋ฅผ ํ†ตํ•ด ํ˜„์žฌ git์„ ์‚ฌ์šฉํ•˜๋Š” user name๊ณผ user email์„ ์„ค์ •.

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ฒ„์ „์„ ๋‚จ๊ธธ ๋•Œ๋งˆ๋‹ค ๊ทธ ๋ฒ„์ „์„ ๋‚จ๊ธด ์‚ฌ๋žŒ์˜ ์ •๋ณด์— ๋ฐฉ๊ธˆ ์ ์€ ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ์ด ์„ค์ •๋จ.

$ git config user.name "{์‚ฌ์šฉ์ž ์ด๋ฆ„}"
$ git config user.email "{์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ}"

 

Commit

ํŠน์ • ๋ฒ„์ „์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ์ปค๋ฐ‹(Commit)ํ•œ๋‹ค๊ณ  ํ•จ.

ํŠน์ • ๋ฒ„์ „ = ์ปค๋ฐ‹

๋”๋ณด๊ธฐ

1. Working Directory

๋‚ด๊ฐ€ ์‹ค์ œ๋กœ ๋‹ค๋ฃจ๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ž์ฒด๋ฅผ ์˜๋ฏธ

 

2. Staging Area

ํŠน์ • ๋ฒ„์ „์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์€ ํŒŒ์ผ๋“ค์„ ๋ชจ์•„๋‘๋Š” ์žฅ์†Œ

 

3. Repository๊ธฐํŠน์ • ์‹œ์ ์˜ staging area์˜ ๋ชจ์Šต์„ ์ปค๋ฐ‹์œผ๋กœ ๋‚จ๊ธฐ๋ฉด ๊ทธ ์ปค๋ฐ‹๋“ค์ด ์ €์žฅ๋˜๋Š” ์˜์—ญ

 

0. ์ปค๋ฐ‹์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ณผ์ •

working directory์—์„œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€ ์ปค๋ฐ‹์„ ํ•˜๊ณ  ์‹ถ์–ด์กŒ๋‹ค.

1. ์ง€๊ธˆ ์ปค๋ฐ‹์„ ๋‚จ๊ธฐ๊ณ  ์‹ถ์€ ๋ชจ๋“  ํŒŒ์ผ๋“ค์„ staging area์— ์˜ฌ๋ฆฐ๋‹ค.

2. staging area์— ํŒŒ์ผ๋“ค์„ ์˜ฌ๋ฆฐ ์ƒํƒœ์—์„œ ์ปค๋ฐ‹ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด

-> ํ•ด๋‹น ์‹œ์ ์˜ staging area์— ์žˆ๋˜ ํŒŒ์ผ๋“ค์ด ๊ทธ๋Œ€๋กœ ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์œผ๋กœ repository์— ์ €์žฅ๋œ๋‹ค.

 

์ด๋•Œ, staging area์— ์˜ฌ๋ ค๋‘” ํŒŒ์ผ๋งŒ ์ปค๋ฐ‹๋˜๊ธฐ ๋•Œ๋ฌธ์—

์•„์ง ๋ฏธ์™„์„ฑ/๋ถˆ์™„์ „ํ•˜์—ฌ ์ปค๋ฐ‹ํ•˜๊ธฐ ์‹ซ์€ ํŒŒ์ผ๋“ค์€

git add๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด staging area์— ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์•„ ์ปค๋ฐ‹์— ๋ฐ˜์˜๋˜์ง€ ์•Š์Œ.

 

์ด๋Ÿฐ ์‹์œผ๋กœ ์ปค๋ฐ‹๋“ค์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅ๋˜๋ฉด์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž„.

 

1. Staging Area์— ํŒŒ์ผ ์—…๋กœ๋“œํ•˜๊ธฐ

ํŠน์ • ํŒŒ์ผ ์—…๋กœ๋“œ ์‹œ git add ํŒŒ์ผ๋ช…

$ git add {ํŒŒ์ผ๋ช…}

์ƒˆ๋กœ ์ƒ์„ฑ๋˜์—ˆ๊ฑฐ๋‚˜ ์กฐ๊ธˆ์ด๋ผ๋„ ์ˆ˜์ •๋œ ํŒŒ์ผ๊นŒ์ง€ ๋ชจ๋‘ ์—…๋กœ๋“œ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด git add .

$ git add .

 

2. ์ปค๋ฐ‹ํ•˜๊ธฐ

-m ์˜ต์…˜์„ ํ†ตํ•ด ์ปค๋ฐ‹ ์‹œ ๋ฉ”์‹œ์ง€๋ฅผ ํ•จ๊ป˜ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Œ

$ git commit -m "{์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€}"

 

์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธ

์ง€๊ธˆ๊นŒ์ง€ ์ž…๋ ฅํ–ˆ๋˜ ์ปค๋ฐ‹ ๊ธฐ๋ก์„ ์‹œ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ๋ชจ๋‘ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

๊ธฐ๋ก์ฐฝ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๊ณ  ์‹ถ๋‹ค๋ฉด quit์˜ ์•ฝ์ž์ธ q ์ž…๋ ฅ

$ git log

 

๋‘ ์ปค๋ฐ‹ ๋น„๊ตํ•˜๊ธฐ

git log๋ฅผ ํ†ตํ•ด ์ปค๋ฐ‹ ์•„์ด๋””๋ฅผ ํ™•์ธํ•˜๊ณ , ๋น„๊ตํ•  ์ปค๋ฐ‹ ์•„์ด๋””์˜ ์•ž 4์ž๋ฆฌ๋ฅผ ๊ธฐ์–ตํ–ˆ๋‹ค๊ฐ€ ์‚ฌ์šฉํ•˜๋ฉด ๋จ

$ git diff {์ปค๋ฐ‹ ์•„์ด๋””} {์ปค๋ฐ‹ ์•„์ด๋””}
profile

YOONJI

@๊ธฐ๋ฎจ์ง€

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!