- branch ๋
ํ๋ก์ ํธ์ ๋ค์ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ค.
git ์ ์ฅ์ ๋ด์์ ๋ ๋ฆฝ๋ ์์ ํ๋ฆ์ ๋ํ๋ด๋ ํฌ์ธํฐ์ด๋ค.
๊ธฐ๋ณธ ๋ธ๋์น์ธ master ๋ธ๋์น๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- branch ํน์ง
- ๋ ๋ฆฝ๋ ์์ ๊ณต๊ฐ ์ ๊ณต
- ๋์์ ์ฌ๋ฌ๊ฐ์ง ์์ ์ ์ํ ๊ฐ๋ฅ
- ๋ณ๊ฒฝ์ฌํญ์ ์์ ํ๊ฒ ํ ์คํธ ๊ฐ๋ฅ
- ์ฝ๋ ์์ ์ฑ ์ ์ง, ํจ์จ์ ์ธ ํ์ ๊ฐ๋ฅ
- ๊ฐํธํ ๋ฒ์ ๊ด๋ฆฌ
- branch ํ์ฉ
1) ๊ธฐ๋ฅ ๊ฐ๋ฐ
2) ๋ฒ๊ทธ ์์
3) ๋ฆด๋ฆฌ์ฆ ๊ด๋ฆฌ
- branch ๋ช ๋ น์ด
โถ๏ธ ๋ธ๋์น ์์ฑ
$ git branch ์ด๋ฆ
โถ๏ธ ๋ธ๋์น ํ์ธ
$ git branch
โถ๏ธ ๋ธ๋์น ๋ณ๊ฒฝ
$ git checkout ์ด๋ฆ
โถ๏ธ ๋ธ๋์น ์ญ์
$ git branch - D ์ด๋ฆ
โถ๏ธ ๋ณํฉ
$ git merge ํฉ์น๋ ๋ธ๋ ์น๋ช
- branch ์ฌ์ฉ ๋ฐฉ๋ฒ
์๋ก์ด ๋ธ๋์น๋ฅผ ์์ฑํ๋ฉด ์ด ๋ธ๋์น๋ ํน์ ์์ ์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๊ณ (์ต์ํ ํ๋ฒ์ด๋ผ๋ commit ์ด ์ด๋ฃจ์ด์ ธ์ผํ๋ค. ํ๋ก์ ํธ ์ด๊ธฐ ์ธํ ) ์ดํ์ ๋ณ๊ฒฝ์ฌํญ์ ๋ค๋ฅธ ๋ธ๋์น์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉฐ, ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌ๋๋ค.
1) ๋ธ๋์น๋ฅผ ์์ฑํ๋ค.
$ git branch aaa
2) ๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ๋ค.
$ git checkout aaa
3) ํ์ผ์ ์์ฑ & ์์ ํ๋ค.
4) ํ์ผ์ stage area ์ ์ถ๊ฐํ๋ค.
$ git add .
5) ํ์ผ์ ์ ์ฅ์์ ์ถ๊ฐํ๋ค.
$ git commit -m "aaa ๊ฐ ์์ฑ๋จ"
- master ๋ธ๋ ์น์ aaa ๋ธ๋์น๋ฅผ ํฉ์น๊ณ ์ถ์ผ๋ฉด ?
merge ๋ช ๋ น๋ฌธ์ ์ด์ฉํด์ ํฉ์น ์ ์๋ค.
ํฉ์น๊ณ ์ถ์ ๋ธ๋ ์น๋ก ๋ค์ด๊ฐ์ ๋ช ๋ น๋ฌธ์ ์คํ์์ผ์ค๋ค.
$ git checkout master
$ git merge aaa