ํ๋์ ๋ธ๋์น(main/master) ์์ ์์ ๊ฐ๋ฅ
๊ฐ์ฅ ํฐ ์ฅ์ ์ด์ ํด๋น ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ ์ด์ ๋ผ๊ณ ์๊ฐํ๋ค.
๊ณต๋์ผ๋ก ์์
ํ๋ค๋ณด๋ฉด ๋ธ๋์น๋ฅผ ๋ณํฉํ ํ์ checkout ์ ๋ฏธ์ฒ ํ์ง ๋ชปํ๊ณ develop ์ด๋ main์์ ์์
ํด๋ฒ๋ ค์ ๋ค๋ฅธ ์ฌ๋๊ณผ ์์๊ฐ ๊ผฌ์ด๋ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์๋ค. fork ๋ฅผ ํ๊ฒ ๋๋ฉด ๊ณต๋ repo๋์ ๋ณ๊ฐ์ ๋ณต์ฌ๋ณธ์ด ๋ง๋ค์ด์ง๊ณ ๋ณต์ฌ๋ณธ์์ ์์
์ ํ๊ธฐ ๋๋ฌธ์ ์๋ณธ๊ณผ ๋
๋ฆฝ์ ์ผ๋ก ์์
ํด๋ ๋๋ค. ๋ฐ๋ผ์ ๋ฐ๋ก branch ๋ฅผ ํ์ง ์๊ณ main(master)์์ ์์
์ ํด๋ ๋๋ค.
fork ํ ๊ฐ์ธ repository์์๋ง ์์ ํ๋ฉด ๊ฒฐ๊ตญ ๋ณต์ฌ๋ณธ์์๋ง ๋ฐ๋๊ธฐ ๋๋ฌธ์ ๊ณต๋์์ ์ ํ ์๊ฐ ์๋ค. original repository ์ ์ฐ๋ฆฌ๊ฐ ์์ ํ ๋ด์ฉ์ ๋๊ธฐํ ์ํค๋ ์์ ์ด ํ์์ ์ด๋ค.
์ด ๋ ์ฌ์ฉํ๋ ๊ฐ๋ ์ด ๋ฐ๋ก pull request ๋ค. original repository ์ ๋ด๊ฐ ์์ ํ ๋ด์ฉ์ pull ํด๋ฌ๋ผ๊ณ (๋ฐ์๋ฌ๋ผ๊ณ ) ์์ฒญํ๋ ์์ ์ ์๋ฏธํ๋ค. ๋ฐ๋ก merge ํ๋ ๊ฒ ์๋๋ผ pull request๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์์ ๋ด์ฉ์ด ํจ๋ถ๋ก ๋ณ๊ฒฝ๋์ง ์๋๋ค. pull request ๋ฅผ original repository ์ชฝ์์ ์น์ธํ๋ฉด ๊ทธ์ ์์ผ fork repo ์์ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ด original repository ์ ๋ฐ์๋๋ค.
remote ์ upstream ์ถ๊ฐํ๊ธฐ
fork repository ์ ์ฅ์์ ๋ฐ๋ผ๋ณธ original repository ๋ upstream ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. remote ๋ origin ์ฆ, fork ๋ repository ๋ง ๊ฐ๋ฆฌํค๊ณ ์๋ ์ํ์ธ๋ฐ original repository์ ์ฝ๋๋ฅผ pull ๋ฐ๊ธฐ ์ํด์๋ ํด๋น ๋ ํฌ์งํ ๋ฆฌ๋ remote ์ ์ถ๊ฐํด์ฃผ์ด์ผ ํ๋ค.
original repositpory์ remote ๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด ๋ค์์ ์ฝ๋๋ฅผ ์
๋ ฅํ๋ค.
$ git remote add upstream "original repository ์ฃผ์"
์ ๋ฑ๋ก๋๋์ง ํ์ธํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์
๋ ฅํ๋ค.
$ git remote -v
origin๊ณผ upstream ๋ ๊ฐ๊ฐ ๋ฌ๋ค๋ฉด ์ ๋ ๊ฒ์ด๋ค.
original repository ๋ณ๊ฒฝ์ฌํญ pull ๋ฐ๊ธฐ
์๋์ ์ฝ๋๋ฅผ ์
๋ ฅํ์ฌ original repository์ fork repository ๋ฅผ ๋๊ธฐํ์ํจ๋ค.
git pull upstream develop
develop branch ์ ๋๊ธฐํ๋ฅผ ํ๊ธฐ ์ํด์ upstream develop ์ด๋ผ๊ณ ๋ช ๋ น์ด๋ฅผ ์ณค์ง๋ง, ๋ง์ฝ ๋๊ธฐํ ํ๊ณ ์ถ์ ๋ธ๋์น๊ฐ main ์ด๋ master ํน์ ๋ค๋ฅธ ๋ธ๋์น๋ผ๋ฉด develop ๋์ ์ ํด๋น ๋ธ๋์น๋ช ์ ์ ๋ ฅํ๋ฉด ๋๋ค.