[UMC] 2์ฃผ์ฐจ๐Ÿ’ญ - Git

Madeline๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ปยท2022๋…„ 9์›” 28์ผ
0

๊ฐœ๋ฐœ ์ง€์‹

๋ชฉ๋ก ๋ณด๊ธฐ
4/9
  1. Git์ด๋ž€? Git๊ณผ Github ์ฐจ์ด
    1. ์ปค๋ฐ‹ ๊ทœ์น™?
  2. Github desktop์ด๋‚˜ Git ์ด์šฉํ•ด์„œ Github์— ๊ฐ„๋‹จํ•œ ์ปค๋ฐ‹ ํ•ด๋ณด๊ธฐ

Git?

: ๊ฐœ๋ฐœ๊ณ„์˜ SNS.
-๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ์†Œ์Šค์ฝ”๋“œ ๊ด€๋žŒ, ๋ฒ„๊ทธ ๊ด€๋ฆฌ, SNS ๊ธฐ๋Šฅ ๋“ฑ

1. Repository

-๋กœ์ปฌ ์ €์žฅ์†Œ: ์ž์‹ ์˜ ์ปดํ“จํ„ฐ
-์›๊ฒฉ ์ €์žฅ์†Œ: ์„œ๋ฒ„ ๋“ฑ ๋„คํŠธ์›Œํฌ
: ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์ž‘์—… ์ˆ˜ํ–‰ => ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ €์žฅ

2. Branch

-์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ
-ํ๋ฆ„์„ ๋‚˜๋ˆ  ๊ธฐ๋กํ•œ๋‹ค.
-๊ฐ™์€ ์ €์žฅ์†Œ์—์„œ ๊ฐ์ž ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

0. ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ 7๊ฐ€์ง€ ๊ทœ์น™

  1. ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ๋นˆ ํ–‰์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค
  2. ์ œ๋ชฉ์„ 50๊ธ€์ž ๋‚ด๋กœ ์ œํ•œ
  3. ์ œ๋ชฉ ์ฒซ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ
  4. ์ œ๋ชฉ ๋์— ๋งˆ์นจํ‘œ ๋„ฃ์ง€ ์•Š๊ธฐ
  5. ์ œ๋ชฉ์€ ๋ช…๋ น๋ฌธ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ณผ๊ฑฐํ˜•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค
  6. ๋ณธ๋ฌธ์˜ ๊ฐ ํ–‰์€ 72๊ธ€์ž ๋‚ด๋กœ ์ œํ•œ
  7. ์–ด๋–ป๊ฒŒ ๋ณด๋‹ค๋Š” ๋ฌด์—‡๊ณผ ์™œ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค
  

< ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ตฌ์กฐ >
ํ—ค๋”๋Š” ํ•„์ˆ˜์ด๋ฉฐ, ๋ฒ”์œ„(scope), ๋ณธ๋ฌธ(body), ๋ฐ”๋‹ฅ๊ธ€(footer)์€ ์„ ํƒ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

<type>(<scope>): <subject>          -- ํ—ค๋”
<BLANK LINE>
<body>                              -- ๋ณธ๋ฌธ
<BLANK LINE>
<footer>                            -- ๋ฐ”๋‹ฅ๊ธ€

์€ ํ•ด๋‹น ์ปค๋ฐ‹์˜ ์„ฑ๊ฒฉ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์•„๋ž˜ ์ค‘ ํ•˜๋‚˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค

feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ปค๋ฐ‹
fix : ๋ฒ„๊ทธ ์ˆ˜์ •์— ๋Œ€ํ•œ ์ปค๋ฐ‹
build : ๋นŒ๋“œ ๊ด€๋ จ ํŒŒ์ผ ์ˆ˜์ •์— ๋Œ€ํ•œ ์ปค๋ฐ‹
chore : ๊ทธ ์™ธ ์ž์ž˜ํ•œ ์ˆ˜์ •์— ๋Œ€ํ•œ ์ปค๋ฐ‹
ci : CI๊ด€๋ จ ์„ค์ • ์ˆ˜์ •์— ๋Œ€ํ•œ ์ปค๋ฐ‹
docs : ๋ฌธ์„œ ์ˆ˜์ •์— ๋Œ€ํ•œ ์ปค๋ฐ‹
style : ์ฝ”๋“œ ์Šคํƒ€์ผ ํ˜น์€ ํฌ๋งท ๋“ฑ์— ๊ด€ํ•œ ์ปค๋ฐ‹
refactor : ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง์— ๋Œ€ํ•œ ์ปค๋ฐ‹
test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •์— ๋Œ€ํ•œ ์ปค๋ฐ‹

๋Š” ๋ณธ๋ฌธ์œผ๋กœ ํ—ค๋”๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋Š” ์ƒ์„ธํ•œ ๋‚ด์šฉ์„ ์ ์Šต๋‹ˆ๋‹ค.

ํ—ค๋”๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ƒ๋žต ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋Š” ๋ฐ”๋‹ฅ๊ธ€๋กœ ์–ด๋–ค ์ด์Šˆ์—์„œ ์™”๋Š”์ง€ ๊ฐ™์€ ์ฐธ์กฐ ์ •๋ณด๋“ค์„ ์ถ”๊ฐ€ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค ์˜ˆ๋ฅผ ๋“ค์–ด ํŠน์ • ์ด์Šˆ๋ฅผ ์ฐธ์กฐํ•˜๋ ค๋ฉด close #1233 ๊ณผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. close๋Š” ์ด์Šˆ๋ฅผ ์ฐธ์กฐํ•˜๋ฉด์„œ main๋ธŒ๋žœ์น˜๋กœ ํ‘ธ์‹œ๋  ๋•Œ ์ด์Šˆ๋ฅผ ๋‹ซ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ: https://simbasimba.tistory.com/34

1. fork

  1. gitgub์—์„œ Repository๋ฅผ ํ™•์ธํ•œ๋‹ค.

  2. fork ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

  3. Create fork => (github์•„์ด๋””)/(Repository์ด๋ฆ„) ์ด ๋œจ๋ฉด ์„ฑ๊ณต!

  4. ์ดˆ๋ก์ƒ‰ Code ๋ฒ„ํŠผ -> URL ๋ณต์‚ฌ
    (forkํ•ด์˜จ repository๋ฅผ cloneํ•ด์˜จ๋‹ค.)

  5. cmd ์ฐฝ์—์„œ ์›ํ•˜๋Š” ํด๋”๋กœ ์ด๋™ํ•˜์—ฌ clone ํ•ด์ค€๋‹ค.

  6. ๋ณต์‚ฌํ•œ URL์„ ๋ถ™์—ฌ๋„ฃ์–ด cloneํ•œ๋‹ค.
    ๋ช…๋ น์–ด: git clone {๋ณต์‚ฌํ•œ URL}

  7. cloneํ•œ ํด๋”๋กœ ์ด๋™ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์›ํ•˜๋Š” ์ด๋ฆ„์˜ ํด๋”๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

  8. ๋‹ค์‹œ cmd๋กœ ๋Œ์•„๊ฐ€ Repository๋กœ ์ด๋™ํ•œ๋‹ค.

git add .
git commit -m "~~"
git push
  • git add : working directory(clone์„ ๋ฐ›์€ ํด๋”)์— ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฉด staging area(working derectory์™€ ์ €์žฅ์†Œ ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๊ฐ€์ƒ์˜ ์˜์—ญ)์œผ๋กœ ๋‚ด์šฉ์„ ๋ณด๋‚ด์•ผ ํ•˜๋Š”๋ฐ ๊ทธ ๋ช…๋ น์–ด๊ฐ€ add!
  • git commit : addํ•œ ํŒŒ์ผ๋“ค์„ clone ๋ฐ›์€ repo(์›๋ณธx ๋กœ์ปฌ0)์— ๋ณด๋‚ด๊ธฐ
  • git push : ๋กœ์ปฌ repo์— ์˜ฌ๋ฆฐ ๋‚ด์šฉ์„ ์›๋ณธ repo์— ๋ณด๋‚ด๊ธฐ
  1. ๊นƒํ—ˆ๋ธŒ์—์„œ forkํ•œ repository๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ์—…๋ฐ์ดํŠธ ๋˜์–ด ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค!

2. Pull request

  1. Pull requests ๋ฒ„ํŠผ ํด๋ฆญ

  2. ์ดˆ๋ก์ƒ‰ New pull request ๋ฒ„ํŠผ

  3. Create pull request

  4. comment์— ๋‚ด์šฉ ์ž‘์„ฑ(์„ ํƒ)

  5. ๊ด€๋ฆฌ์ž๊ฐ€ ๋‚ด์šฉ ํ™•์ธ ํ›„ Merge๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ์›๋ณธ repository์— ๋ณ€๊ฒฝ ๋‚ด์šฉ์ด ์ ์šฉ๋œ๋‹ค!

3. ์ฃผ์˜์‚ฌํ•ญ

  1. Readme.md ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด Readme.md ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์„œ conflict๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

  2. ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์„ ๋•Œ๋Š” ์›์ธ์„ ์ฐพ์€ ํ›„ Commit, push, pull request ์ง„ํ–‰ํ•œ๋‹ค. ์˜ค๋ฅ˜ ๋‚˜์„œ ํŒŒ์ผ์ด ๋‚ ์•„๊ฐ€๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

  3. ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์šฉ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ ๋‹ค.
    master ๋ธŒ๋žœ์น˜์— ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŒŒ์ผ์ด ๋‚ ์•„๊ฐˆ ์œ„ํ—˜์ด ์žˆ๋‹ค.
    ๊ผญ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ ์„œ (feature/~) ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒจ๋„ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ˜‘์—…ํ•œ๋‹ค.

  4. Pull request์˜ ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์€ ์ˆ˜์ •์ด ๋˜์ง€ ์•Š์•„, ์ž์‹ ์ด ์ˆ˜์ •ํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์ด ํ•„์š”ํ•˜๋‹ค.

profile
Major interest in iOS ๐Ÿ€ & ๐ŸŽ

0๊ฐœ์˜ ๋Œ“๊ธ€