- ํ์ ์ ํ๋ค ๋ณด๋ฉด, ํ์ธ ๋๋ ์กฐ์ง์ repository๋ฅผ ๊ณต์ฉ์ผ๋ก ์์ ํด์ผ ํ ๋๊ฐ ์๋ค
- ์ด๋ฐ ๊ฒฝ์ฐ, ๋์๊ฒ ๊ถํ์ด ์ฃผ์ด์ง์ง ์์
pull request
๋ฅผ ์ด์ฉํด ์์ ์ ํ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ธด๋ค - ๋ํ, main์ด ์๋ ํน์ ํ
branch
์์๋ง ๊ฐ๋ฐํ๋๋ก ๊ฐ์ ํ๋ ๊ฒฝ์ฐ๋ ์๋ค - ์์๋๋ ์๋๋ฆฌ์ค๋ฅผ ๋ฐ๋ผ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋ณด์
git push -f
์ต์ ์ ์ฌ์ฉํ ์ ์๋ค- ๋์๊ฒ repository๋ฅผ ๋ณ๊ฒฝํ ๊ถํ์ด ์๊ธฐ ๋๋ฌธ์, forced push๊ฐ ๋ถ๊ฐ๋ฅํ๋ค
- ๋๋ฌธ์ ํ ๋ฒ ์ค์๋ฅผ ํ๊ฒ ๋๋ฉด, ๋งค์ฐ ๋๊ฐํด์ง๋ค
pull request
์์ ๋ฐ์ํ๋ ๋ฌธ์ [์ฐธ๊ณ ์ฌ์ดํธ]- github์์
pull request
๋ฅผmerge
ํ๋ ๋ฐ์๋Merge
,Squash and merge
,Rebase and merge
์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ง์ํ๋ค - ๊ฐ๊ฐ์ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ค์ํ conflict๊ฐ ๋ฐ์ํ ์ ์๋ค
- github์์
branch
์ ์ต์ํ์ง ์์์ ๋ฐ์ํ๋ ๋ฌธ์ branch
๋ฅผ ์ ๋๋ก ์ฌ์ฉํ์ง ์์ผ๋ฉด, origin ๋๋ upstream์ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์fetch
๋ฐ๋ ์ค์๋ฅผ ํ ์ ์๋คgit log --oneline --graph --all
์ ์ด์ฉํด ๋ฐ๋ผ๋ณด๋ฉด ์ธ๋ชจ์๋ commit๊น์ง ๋ชจ๋ ๋ฐ์๋ฒ๋ ค ์์ ์ด ์ด๋ ค์์ก๋ค๋ ๊ฒ์ ์ ์ ์๋ค
- ๊ฐ์ฅ ๋จผ์ ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํด์ผ ํ๋ repository๋ฅผ forkํด์ผ ํ๋ค
- ์ฐ๋ฆฌ๋ ์ด repository๋ฅผ
upstream
์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค - upstream์์ Fork ๋ฒํผ์ ๋๋ฅด๋ฉด Repositories์ ๋์ผํ repository๊ฐ ํ๋ ์๊ธด๋ค
- ์ฐ๋ฆฌ๋ ์ด repository๋ฅผ
downstream
๋๋origin
์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค
upstream | origin |
---|---|
- ์์
์ ํ๊ธฐ ์ํด์
origin
์์local
๋กclone
ํด์ผ ํ๋ค - ํ์ง๋ง, ์ฐ๋ฆฌ์๊ฒ ๋ฐฐ์ ๋ ํน์
branch
๊ฐ ์์ ๊ฒฝ์ฐ์๋ ์ต์ ์ ๋ ์ ์ฉํด์ผ ํ๋ค - ๋๋ฌธ์
git clone -b ๋ธ๋์น๋ช --single-branch ์ฃผ์
๋ช ๋ น์ด๋ฅผ ์ด์ฉํด์ผ ํ๋ค - ์ฌ๊ธฐ์
git branch -v
๋ฅผ ํด๋ณด๋ฉด main๋ ์์ด ์ฐ๋ฆฌ๊ฐ ๋ฐ๊ณ ์ ํ๋branch
๋ง ์กด์ฌํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค
- ์ฐ๋ฆฌ๋ง์
branch
์ด๋๋ผ๋ ํด๋นbranch
๋ฅผ ๋ฐ๋ก ์ฌ์ฉํ์ง๋ ์๋๋ค - ์กฐ์ง์์ ์ฐ๋ฆฌ์๊ฒ ๋ถ์ฌํ
branch
๊ฐ ์ฐ๋ฆฌ์main
์ด๊ธฐ ๋๋ฌธ์, ์ฌ๊ธฐ์ ์๋ก์ดbranch
๋ฅผ ์ถ๊ฐ๋ก ๋ง๋ค์ด ์ถํ์merge
ํ๋ ๊ฒ์ด ์ณ๋ค - ๋๋ถ๋ถ
dev branch
๋ฅผ ๋ง๋ค์ด ์์ ํ๋ค
- ์ด๋ ํ ์์
์ ๋ง์น๊ณ
origin
์push
ํ ๋์๋ ์ต์ ์ด ๋ถ๋๋ค - ์ด ๋, ์ฐ๋ฆฌ์๊ฒ ๋ฐฐ์ ๋
FrontPage
branch
์ ์ ์ฉํ๋ฉด ์๋๋ค - ์ ์คํ๊ฒ ์ฐ๋ฆฌ๊ฐ ๋ง๋
dev
branch
๋กgit push origin ๋ธ๋์น๋ช
์ ๋ฐ๋์ ์ ๋ ฅํด์ฃผ์
origin
์ repository๋ก ์ค๋ฉด 2๊ฐ์ง ๋ณํ๊ฐ ์๊ธด๋คdev
branch
๊ฐ ์๊ฒผ๋คpull request
๋ฅผ ๋ณด๋ผ ์ ์๋ค
- ์ฌ๊ธฐ์
Compare & pull request
๋ฅผ ๋๋ฌ์ฃผ์ - ์ด ๋ถ๋ถ์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์
base
์compare
๊ฐ ์ ์ ์ฉ๋์๋์ง ํ์ธํ๋ ๊ฒ์ด๋ค Create pull request
๋ฅผ ๋ณด๋ด๊ณ ๋๋ฉด, ๋์ด๋ค
- ์ด ๋ถ๋ถ์
upstream
์ ๊ด๋ฆฌ์๊ฐ ๋ณด๋ ๋ด์ฉ์ด๋ค downstream
์ดpull request
๋ฅผ ์ ๋ณด๋ด์๋์ง ํ์ธํ๊ณ , ์ด๋ฅผ ์์ฉํ๊ฑฐ๋ ๊ฑฐ์ ํ ์ ์๋ค- ์ฌ๊ธฐ์
upstream
์ 3๊ฐ์ง ๋ฐฉ์์ผ๋กmerge
ํ ์ ์๋๋ฐ,Rebase and merge
๋ฐฉ์์ผ๋ก ํ๋ค๊ณ ๊ฐ์ ํ๊ฒ ๋ค
- ์ด์
dev
branch
๋ ํ์ ์์ผ๋ฏ๋ก ์ญ์ ํด ์ฃผ์ด์ผ ํ๋ค git branch -D ๋ธ๋์น๋ช
์ ์ ๋ ฅํด์local
์์ ์ญ์ ํด ์ค๋ค- ์ดํ
git push origin -d ๋ธ๋์น๋ช
์ ์ ๋ ฅํด์origin
์์ ์ญ์ ํด ์ค๋ค
- ํ์ฌ
local
์๋upstream
์ด ๋ฑ๋ก๋์ด ์์ง ์๊ธฐ์ ๋จผ์ git remote add upstream
์ ํด์ผ ํ๋ค - ์ดํ
git fetch upstream ๋ธ๋์น๋ช
์ ์ด์ฉํดupstream
์ ํน์ branch
๋งfetch
ํ์ - ์ฌ๊ธฐ์
git rebase upstrea/๋ธ๋์น๋ช
์ผ๋กlocal
์upstream
๊ณผ ๋๊ธฐํ ํด์ฃผ๋ฉด ๋๋ค
git log
๋ฅผ ๋ณด๋ฉด origin๋ง ๋ฐ๋ก ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค- ์ฌ๊ธฐ์
git push -f origin ๋ธ๋์น๋ช
๋ช ๋ น์ผ๋ก ๋๊ธฐํํ๋ฉด ๋ชจ๋ ์์ ์ด ์๋ฃ๋๋ค