[Git] ๊นƒ(Git)์„ ํ™œ์šฉํ•œ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

Posted by Euisuk's Dev Log on May 2, 2023

[Git] ๊นƒ(Git)์„ ํ™œ์šฉํ•œ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

์›๋ณธ ๊ฒŒ์‹œ๊ธ€: https://velog.io/@euisuk-chung/2.-๊นƒGit์„-ํ™œ์šฉํ•œ-ํ”„๋กœ์ ํŠธ-๊ด€๋ฆฌ

๊นƒ(Git)์„ ํ™œ์šฉํ•œ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

๊นƒ(Git)์€ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ, ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ์†Œ์Šค์ฝ”๋“œ์™€ ๋ฌธ์„œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ํ˜‘์—…์„ ํ•  ๋•Œ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊นƒ์„ ํ™œ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊นƒ์˜ ์‚ฌ์šฉ๋ฒ•

1. Repository(์ €์žฅ์†Œ) ์ƒ์„ฑ

ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ๊นƒ ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊นƒ ์ €์žฅ์†Œ๋Š” ๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๋‚˜๋‰˜๋ฉฐ, ๋กœ์ปฌ ์ €์žฅ์†Œ๋Š” ๊ฐœ๋ฐœ์ž์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ €์žฅ์†Œ์ด๋ฉฐ, ์›๊ฒฉ ์ €์žฅ์†Œ๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘์—…ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค.

1
2
$ git init            # ๋กœ์ปฌ ์ €์žฅ์†Œ ์ƒ์„ฑ
$ git remote add origin [์›๊ฒฉ ์ €์žฅ์†Œ URL]   # ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ๋กœ์ปฌ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ

2. Branch(๋ธŒ๋žœ์น˜) ๊ด€๋ฆฌ

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

1
2
$ git branch [๋ธŒ๋žœ์น˜ ์ด๋ฆ„]   # ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
$ git checkout [๋ธŒ๋žœ์น˜ ์ด๋ฆ„]   # ๋ธŒ๋žœ์น˜๋กœ ์ด๋™

3. Commit(์ปค๋ฐ‹) ๊ด€๋ฆฌ

๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ์ €์žฅ์†Œ์— ๊ธฐ๋กํ•˜๋Š” ์ž‘์—…์„ ์ปค๋ฐ‹์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์ปค๋ฐ‹์€ ๊ณ ์œ ํ•œ ํ•ด์‹œ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ๋ณ€๊ฒฝ ๋‚ด์—ญ์˜ ์ด๋ ฅ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
$ git add [๋ณ€๊ฒฝ๋œ ํŒŒ์ผ]   # ํŒŒ์ผ ์ถ”๊ฐ€
$ git commit -m "[์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€]"   # ์ปค๋ฐ‹ ์ƒ์„ฑ

4. ํ”„๋กœ์ ํŠธ ์ด๋ ฅ ์ถ”์  ๋ฐ ๊ด€๋ฆฌ

๊นƒ์„ ํ™œ์šฉํ•˜๋ฉด ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ์ถ”์ ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

1
2
3
$ git log   # ์ปค๋ฐ‹ ์ด๋ ฅ ํ™•์ธ
$ git diff [์ปค๋ฐ‹ ํ•ด์‹œ] [์ปค๋ฐ‹ ํ•ด์‹œ]   # ์ปค๋ฐ‹ ๊ฐ„ ์ฐจ์ด์  ํ™•์ธ
$ git reset --hard [์ปค๋ฐ‹ ํ•ด์‹œ]   # ํŠน์ • ์ปค๋ฐ‹์œผ๋กœ ์ด๋™


-->