๊ฐ์
- remote name์ด origin์ด๋ผ๋ ๊ฐ์
- ์์
ํ branch name์ด feature๋ผ๋ ๊ฐ์
1. (์์
์์ ์ ) ๋ธ๋์น๋ฅผ ์๋ก ๋ง๋ค๊ธฐ
- ์๊ฒฉ ์ ์ฅ์์ ์ต์ ์ํ๋ฅผ ๋ก์ปฌ์ ๋ฐ์ ํ, ๋ธ๋์น๋ฅผ ์๋ก ์์ฑํ๋ค
git fetch origin && git switch -c ๋ธ๋์น๋ช
origin/develop
2. (์์
์ค) ์ด์ฌํ ์์
์ ์งํํ๋ค.
3. (์์
์๋ฃ) add, commit ์ ํ๋ค.
git add .
git commit -m "์ปค๋ฐ ๋ฉ์ธ์ง"
4. (์์
์๋ฃ) push ์ ์ ์๊ฒฉ ์ํ๋ฅผ ๋ก์ปฌ์ ๋ฐ์ํ๊ธฐ
- ํ์ฌ ๋ธ๋์น์ ์์
์ด ๊ธธ์ด์ก์ ๊ฒฝ์ฐ, ๊ทธ๋์ origin/develop์ด ์
๋ฐ์ดํธ ๋์์ ์๋ ์๋ค. ์ด๋ ๋ธ๋์น๋ฅผ ํธ์ํ๊ธฐ ์ ์ ์ด๋ ฅ์ด ๊ผฌ์ด์ง ์๋๋ก ์ต์ ์ํ๋ฅผ ๋ก์ปฌ์ ๋ฐ์ํ๋ค.
(์ด ๊ณผ์ ์ ํ์๋ ์๋์ง๋ง, ์ถํ ์ถฉ๋์ ๋ณต์ก๋๋ฅผ ์ค์ด๊ธฐ ์ํด์๋ ์ต์ ํ๋ฅผ ์์ผ์ฃผ๋ ๊ฒ์ด ์ข๋ค๊ณ ์๊ฐ๋จ!)
- ์ด ๋ช
๋ น์ด๋ฅผ ์ํํ๋ ์์น๋ [feature] ๋ธ๋์น
- fetch๋ ์ด์ฐจํผ ๋ค ๊ฐ์ ธ์ค๋ ๊ฒ์ด๋ผ ์๊ด์์ง๋ง, rebase๋ ๋ธ๋์น ์์น๊ฐ ์ค์
git fetch origin && git rebase origin/develop
#rebase๊ณผ์ ์์ ์ถฉ๋์ด ๋๋ฉด, ๋ก์ปฌ์์ ์ถฉ๋ ์์
#์ถฉ๋ ์์ ์ด ๋๋๋ฉด,
git add .
git rebase --continue
#๋ง์ฝ์ ์๊ฒฉ์ ์ถฉ๋์ด ๋ ๋ธ๋์น๊ฐ ์๋ค๋ฉด ์ญ์ ํ๊ณ ๋ค์ push ํ์
#(pr์ ๋ง๋ค๊ธฐ์ ์๋ง ์ฌ์ฉ, pr์ ๋ณด๋ธ ์ดํ์ ์ด๋ ๊ฒ ํ๋ฉด pr์ด ๋ซํ)
git push origin :๋ธ๋์น์ด๋ฆ
#(pr์ ๋ง๋ค๊ณ ๋์๋ ์ด๋ ๊ฒ)
git push origin +๋ธ๋์น์ด๋ฆ
#rebase๊ณผ์ ์์ ๊ณ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด rebase ์ด์ ์ผ๋ก ๋์๊ฐ์
git rebase --abort
#feature ๋ธ๋์น์์ ์๊ฒฉ develop์ pullํด์ค๊ณ ์ถฉ๋ ์์
5. (์์
์๋ฃ) ์๊ฒฉ feature ๋ธ๋์น๋ก push
git push origin feature
6. (์์
์๋ฃ) ์๊ฒฉ์์ develop์ผ๋ก pr ๋ณด๋ด๊ณ , ํ์๋ค ์น์ธ ํ merge
7. (merge ์ดํ) ๋จธ์ง ์๋ฃ๋ ๋ธ๋์น ์ ๋ฆฌํ๊ธฐ
- ์๊ฒฉ feature ๋ธ๋์น ์ญ์
- ์ด ๋, ๋ก์ปฌ feature ๋ธ๋์น๋ ์ญ์ ํด์ฃผ๋ ๊ฒ์ด ์ข๋ค