๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

1. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ

- ๋ธŒ๋žœ์น˜๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์–ด๋–ค ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋…์œผ๋กœ ๊ฐ๊ฐ์˜ ๋ธŒ๋žœ์น˜๋Š” ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์— ๋…๋ฆฝ์ ์ด๋‹ค.

- ๋ฉ”์ธ ๋ธŒ๋žœ์น˜: ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์˜ ์•ˆ์ •์ ์ธ ๋ธŒ๋žœ์น˜
- ํ† ํ”ฝ ๋ธŒ๋žœ์น˜: 
๊ธฐ๋Šฅ ์ถ”๊ฐ€๋‚˜ ๋ฒ„๊ทธ ์ˆ˜์ •๊ณผ ๊ฐ™์€ ๋‹จ์œ„ ์ž‘์—…์„ ์œ„ํ•œ ๋ธŒ๋žœ์น˜

$ git branch 
# ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ํ™•์ธ

$ git checkout ๋ธŒ๋žœ์น˜์ด๋ฆ„
# ๋ธŒ๋žœ์น˜ ์ „ํ™˜

$ git checkout snapshot hash code
# ์Šค๋ƒ…์ƒท ์ด๋™๋„ ๊ฐ€๋Šฅ

$ git branch ๋ธŒ๋žœ์น˜์ด๋ฆ„
# ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ

 

2. ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ

$ git checkout master
$ git merge topic_branch

$ git branch --merged
# merge๋œ branch ํ™•์ธ

$ git branch -d branch name
# ์‚ฌ์šฉ์„ ๋งˆ์นœ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•œ๋‹ค.
# delete the branch only if it has already been pushed and merged with the remote branch.

$ git branch -D ๋ธŒ๋žœ์น˜๋ช…
# push, merge ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•œ๋‹ค.
# if you want to force the branch to be deleted, even if it hasn't been pushed or merged yet.

- fast-forward ๋ณ‘ํ•ฉ: ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ ๋ณ€๊ฒฝ์—†์ด ์ƒˆ๋กœ์šด ๋‚ด์šฉ๋งŒ ์ถ”๊ฐ€๋˜๋Š” ๊ฒƒ

- git merge confict: mergeํ•œ ๋‘ ๋ธŒ๋žœ์น˜์—์„œ ๊ฐ™์€ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ๋‹ค.

 

3. ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ

$ git remote add origin ์ฃผ์†Œ
# ์›๊ฒฉ์ €์žฅ์†Œ์™€์˜ ์—ฐ๊ฒฐ

$ git remote rename origin ๋‹ค๋ฅธ์ด๋ฆ„
# ์›๊ฒฉ์ €์žฅ์†Œ์˜ ์ด๋ฆ„์ด: origin -> ๋‹ค๋ฆ„์ด๋ฆ„ ์œผ๋กœ ๋ฐ”๋€๋‹ค.

$ git remote rm origin
# ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๊ฑฐ๋‚˜ ํ•„์š”์—†์–ด์ง„ ์ €์žฅ์†Œ ์‚ญ์ œ

$ git remote -v
# ์ง€์ •ํ•œ ์ €์žฅ์†Œ์˜ ์ด๋ฆ„๊ณผ ์ฃผ์†Œ๋ฅผ ํ•จ๊ป˜ ๋ณผ ์ˆ˜ ์žˆ๋‹ค

$ git pull
# ์›๊ฒฉ์ €์žฅ์†Œ์—์„œ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ + ๋ณ‘ํ•ฉ

$ git fetch
# ์›๊ฒฉ์ €์žฅ์†Œ์—์„œ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ
# fetch ํ›„์—๋Š” git merge๋ฅผ ํ†ตํ•ด ๋”ฐ๋กœ ๋จธ์ง€๋ฅผ ์‹œ์ผœ์ค˜์•ผํ•œ๋‹ค.

- ์›๊ฒฉ์ €์žฅ์†Œ์˜ ์ด๋ฆ„์€ origin์ด default์ด๊ธฐ ๋•Œ๋ฌธ์— clone์œผ๋กœ ๋ณต์‚ฌํ•ด์˜จ ์ €์žฅ์†Œ์˜ ์ด๋ฆ„์€ origin์œผ๋กœ ํ†ต์ผ๋œ๋‹ค.

- git clone์€ ํŒŒ์ผ๋งŒ ๋ฐ›์•„์˜ค๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์›๊ฒฉ์ €์žฅ์†Œ์™€ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด git remote add orign์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.

 

๋ฐ˜์‘ํ˜•