์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์๋ฐ์คํฌ๋ฆฝํธ
- Flex
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- ๋ธ๋ก๊ทธ
- position
- Props
- useRef
- fetch API
- ํ๋ก๊ทธ๋๋จธ์ค
- float
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐ๋ธ์ฝ์ค
- CSS
- useEffect
- ํ๋ก ํธ์๋
- Gatsby
- ์ฝ๋ฉํ ์คํธ
- REACT
- history api
- Today
- Total
Daehyunii's Dev-blog
06. Branch ํฉ์น๊ธฐ ๋ณธ๋ฌธ
01. branch ํฉ์น๋ ๋ฐฉ๋ฒ
์์ branch๋ฅผ ์์ฑํด์ ์๋ก์ด ๊ธฐ๋ฅ๋ค์ ํ ์คํธํด๋ณด๊ณ ์ด์ ํ๋ก๊ทธ๋จ์ ์ ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น? ๋ฐ๋ก branch๋ฅผ ํฉ์น๋ ๊ฒ์ด๋ค. ์ฆ ๊ธฐ์กด ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ์ฐจ์์์ ์์ฑํ ํ์ผ๋ค์ ๊ธฐ์กด ํ๋ก๊ทธ๋จ์ ํฉ์น๋ ๊ฒ์ด๋ค. ๋ ๊ฐ์ ์ฐจ์์ ํ๋์ ์ฐจ์์ผ๋ก ๋ด์ฉ์ ํฉ์ณ ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ด๋ค.
branch๋ฅผ ํฉ์น๋ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋ค. merge ๋ฐฉ์๊ณผ rebase ๋ฐฉ์์ด๋ค. merge ๋ฐฉ์์ ๋ branch๋ฅผ ํ๋์ commit์ผ๋ก ์ด์ด ๋ถ์ด๋ ๊ฒ์ด๋ค. ์ ์ฌ์ง์ ๋ฐฉ์์ด merge๋ฐฉ์์ด๋ค. merge ๋ฐฉ์์ branch ์ฌ์ฉ ๋ด์ญ์ ๋จ๊ธธ ํ์๊ฐ ์์๋ ํ์ฉํ๋ค. ์๋ฅผ๋ค์ด main branch๊ฐ ์๊ณ test branch๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด์. test branch๋ฅผ main branch์ merge ๋ฐฉ์์ผ๋ก ํฉ์น๋ค๋ฉด test branch์ ๊ฐ commit๋ ๊ฒ๋ค์ ๋ค ํฉ์ณ main branch์ ์๋ก์ด commit์ผ๋ก ์๋ ์์ฑ๋๋ค. rebase ๋ฐฉ์์ ํฉ์น๋ ํ์ ์ด ๋จ์ง ์๋ ๋ฐฉ์์ธ๋ฐ, test branch์ commit๋ค ํ๋ ํ๋๋ฅผ ์ ๋ถ main branch์ ๋ค์ ํ๋ ํ๋์ commit๋ค๋ก ์ด์ด๋ถ์ด๋ ๋ฐฉ์์ด๋ค. ๊ทธ๋ ๊ฒ ๋๋ฌธ์ branch๋ฅผ ๋ง๋ ํ์ ์ด ๋ณด์ด์ง ์๊ฒ ๋๋ค.
merge๋ฐฉ์
test branch -> @1 -> @2 -> @3
/ \
main branch *1 -> *2 -> *3 -------------------> *4
test branch์ @1,@2,@3 ๋ด์ฉ๋ค์ด main branch์ *4 commit์ ๋ค ๋ค์ด๊ฐ๊ฒ ๋จ
๊ทธ๋ฆฌ๊ณ test branch๋ ํฉ์ณ์ก๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ๊ฐ์ง๋ฅผ ๋ป์ด๋๊ฐ์ง ์์(๊ทธ๋ ๊ฒ ๋๋ฌธ์ branch ์ญ์ ๋ฅผ ํด์ฃผ์ด
ํท๊ฐ๋ฆฌ์ง ์๊ฒ ํด์ค์ผํจ)
rebase๋ฐฉ์
<ํฉ๋ณ ์ >
test branch -> @1 -> @2 -> @3
/
main branch * -> *2 -> *3
<ํฉ๋ณ ํ>
main branch * -> *2 -> *3 -------------------> @1 -> @2 -> @3
test branch ๊ฐ๊ฐ์ commit๋ค์ด main branch์ ํ๋ ํ๋ ์์ฑ๋์ ์ด์ด ๋ถ์ฌ์ง(ํฉ๋ณ ํ์๋ test branch
๋ฅผ ์ญ์ ํด ํท๊ฐ๋ฆฌ์ง ์๋๋ก ํด์ค์ผํจ)
02. merge
merge ๋ฐฉ์์ผ๋ก branch๋ฅผ ํฉ์น๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ํฉ์น๊ฒ ๋ branch๋ก switch๋ฅผ ํ๋ค.(์ฆ, ์์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณด๋ฉด main branch๋ก switch๋ฅผ ํ๋ค)
2. merge ๋ช ๋ น์ด ์ ๋ ฅ
<๋ช ๋ น์ด>git merge (๋ณํฉํ branch ์ด๋ฆ) - ์์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณด๋ฉด test branch ์ด๋ฆ์ ๋ฃ์ด์ผ ํ๋ค.
3. :wq ํค์๋๋ก ์ ์ฅ ํ ์ข ๋ฃ๋ฅผ ํด์ค์ผ ํจ
4. ํฉ์ณ์ง branch๋ ๋ ์ด์ ํ์ํ์ง ์์ผ๋ฏ๋ก ์ญ์ ํ๋ค.
<๋ช ๋ น์ด> git branch -d (ํฉ๋ณ๋ branch ์ด๋ฆ)
* ์ฐธ๊ณ ๋ก ์ด๋ ๊ฒ ๋ณํฉ์ ํ ๊ฒฝ์ฐ์๋ ํ๋์ commit์ด ์์ฑ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ reset์ผ๋ก merge ์ ์ผ๋ก ๋์๊ฐ ์ ์๋ค.
03. rebase
rebase ๋ฐฉ์์ผ๋ก branch๋ฅผ ํฉ์น๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ์ด์ด๋ถ์ผ branch๋ก switch๋ฅผ ํ๋ค.(์์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก test branch๋ก switch ํ๋ค. โปmerge์ ๋ฐ๋์)
2. rebase ๋ช ๋ น์ด ์ ๋ ฅ
<๋ช ๋ น์ด>git rebase (์ด์ด ๋ถ์์ ๋นํ branch ์ด๋ฆ) - ์์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณด๋ฉด main branch ์ด๋ฆ์ ๋ฃ์ด์ผ ํ๋ค.
3. ๋ค์ ์ด์ด ๋ถ์์ ๋นํ branch๋ก switch ํ๋ค.(์์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณด๋ฉด main branch๋ก switch ํ๋ค)
4. git merge (์ด์ด ๋ถ์ธ branch ์ด๋ฆ) ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
5. ํฉ์ณ์ง branch๋ ๋ ์ด์ ํ์ํ์ง ์์ผ๋ฏ๋ก ์ญ์ ํด ์ค๋ค.
* ์ฐธ๊ณ ๋ก ์์ 3,4๋ฒ ์์๋ฅผ ํด์ฃผ์ง ์์ผ๋ฉด main branch๊ฐ test branch ๋ณด๋ค ๋ค์ณ์ง๊ฒ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ main branch๋ฅผ ๋ค์ ๊ฐ์ฅ ์์ผ๋ก ๋น๊ฒจ์ฃผ์ด์ผ ํ๋ค.
'๐ Language & CS knowledge > Git & GitHub' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
08. Github (1) | 2022.10.08 |
---|---|
07. ์ถฉ๋ ํด๊ฒฐ (0) | 2022.10.08 |
05. Branch ์์ฑํ๊ธฐ (0) | 2022.10.08 |
04. Git์์ ํ๋ก์ ํธ๋ฅผ ๊ณผ๊ฑฐ๋ก ๋๋๋ฆฌ๊ธฐ (0) | 2022.10.08 |
03. Commitํ๊ธฐ(๋ฒ์ ๋ง๋ค๊ธฐ) (0) | 2022.10.07 |