Learn Git Branching - git ๊ธฐ๋ณธ ๐ŸŒ’

jaehee kimยท2020๋…„ 7์›” 31์ผ
0
post-thumbnail

Learn Git Branching
Learn Git Branching์—์„œ git ์„ ๋ฐฐ์›Œ๋ด…์‹œ๋‹ค!

git commit ์†Œ๊ฐœ


์ปค๋ฐ‹์€ Git ์ €์žฅ์†Œ์— ์—ฌ๋Ÿฌ๋ถ„์˜ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์— ๋Œ€ํ•œ ์Šค๋ƒ…์ƒท์„ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ ์ปค๋ฐ‹์€ ์ €์žฅ์†Œ์˜ ์ด์ „ ๋ฒ„์ „๊ณผ ๋‹ค์Œ ๋ฒ„์ „์˜ ๋ณ€๊ฒฝ๋‚ด์—ญ("delta"๋ผ๊ณ ๋„ ํ•จ)์„ ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€๋ถ€๋ถ„์˜ ์ปค๋ฐ‹์ด ๊ทธ ์ปค๋ฐ‹ ์œ„์˜ ๋ถ€๋ชจ ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

git commit



git์—์„œ branch ์“ฐ๊ธฐ


๋ธŒ๋žœ์น˜๋Š” ํŠน์ • ์ปค๋ฐ‹์— ๋Œ€ํ•œ ์ฐธ์กฐ(reference)์— ์ง€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜๋ฅผ "ํ•˜๋‚˜์˜ ์ปค๋ฐ‹๊ณผ ๊ทธ ๋ถ€๋ชจ ์ปค๋ฐ‹๋“ค์„ ํฌํ•จํ•˜๋Š” ์ž‘์—… ๋‚ด์—ญ"์ด๋ผ๊ณ  ๊ธฐ์–ตํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

git branch bugFix

git checkout bugFix



git merge


Git์˜ ํ•ฉ์น˜๊ธฐ(merge)๋Š” ๋‘ ๊ฐœ์˜ ๋ถ€๋ชจ(parent)๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํŠน๋ณ„ํ•œ ์ปค๋ฐ‹์„ ๋งŒ๋“ค์–ด ๋ƒ…๋‹ˆ๋‹ค.

๋‘๊ฐœ์˜ ๋ถ€๋ชจ๊ฐ€ ์žˆ๋Š” ์ปค๋ฐ‹์ด๋ผ๋Š” ๊ฒƒ์€ "ํ•œ ๋ถ€๋ชจ์˜ ๋ชจ๋“  ์ž‘์—…๋‚ด์—ญ๊ณผ ๋‚˜๋จธ์ง€ ๋ถ€๋ชจ์˜ ๋ชจ๋“  ์ž‘์—…, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋‘ ๋ถ€๋ชจ์˜ ๋ชจ๋“  ๋ถ€๋ชจ๋“ค์˜ ์ž‘์—…๋‚ด์—ญ์„ ํฌํ•จํ•œ๋‹ค"๋ผ๋Š” ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • bugFix๋ผ๋Š” ์ƒˆ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค
git branch bugFix

  • git checkout bugFix๋ฅผ ์ž…๋ ฅํ•ดย bugFixย ๋ธŒ๋žœ์น˜๋กœ ์ด๋™(checkout)ํ•ฉ๋‹ˆ๋‹ค.
git checkout bugFix

  • ์ปค๋ฐ‹ ํ•œ ๋ฒˆ ํ•˜์„ธ์š”
git commit

  • git checkoutย ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ดย master๋ธŒ๋žœ์น˜๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค
git checkout master

  • ์ปค๋ฐ‹ ๋˜ ํ•˜์„ธ์š”
git commit

  • git mergeย ๋ช…๋ น์–ด๋กœย bugFix๋ธŒ๋žœ์น˜๋ฅผย master์— ํ•ฉ์ณ ๋„ฃ์Šต๋‹ˆ๋‹ค.
git merge bugFix

git checkout bugFix

git merge master



git rebase


๋ฆฌ๋ฒ ์ด์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปค๋ฐ‹๋“ค์„ ๋ชจ์•„์„œ ๋ณต์‚ฌํ•œ ๋’ค, ๋‹ค๋ฅธ ๊ณณ์— ๋–จ๊ถˆ ๋†“๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฆฌ๋ฒ ์ด์Šค๋ฅผ ํ•˜๋ฉด ์ปค๋ฐ‹๋“ค์˜ ํ๋ฆ„์„ ๋ณด๊ธฐ ์ข‹๊ฒŒ ํ•œ ์ค„๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ฒ ์ด์Šค๋ฅผ ์“ฐ๋ฉด ์ €์žฅ์†Œ์˜ ์ปค๋ฐ‹ ๋กœ๊ทธ์™€ ์ด๋ ฅ์ด ํ•œ๊ฒฐ ๊นจ๋—ํ•ด์ง‘๋‹ˆ๋‹ค.

  • bugFix๋ผ๋Š” ์ƒˆ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ์„ ํƒํ•˜์„ธ์š”
git branch bugFix
git checkout bugFix

  • ์ปค๋ฐ‹ ํ•œ ๋ฒˆ ํ•ฉ๋‹ˆ๋‹ค
git commit

  • master๋กœ ๋Œ์•„๊ฐ€์„œ ๋˜ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค
git checkout master
git commit

  • bugFix๋ฅผ ๋‹ค์‹œ ์„ ํƒํ•˜๊ณ  master์— ๋ฆฌ๋ฒ ์ด์Šค ํ•˜์„ธ์š”
git checkout bugFix
git rebase master

git checkout master
git rebase bugFix




notion ์ •๋ฆฌ
[notion]Learn Git Branching - git ๊ธฐ๋ณธ ๐ŸŒ’

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