-
๋ค์ ๊ทธ๋ฆผ์ fork ๋ฒํผ์ ๋๋ฌ ์ ์ฅ์๋ฅผ forkํฉ๋๋ค.

-
์๊ฒฉ ์ ์ฅ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
git clone <fork๋ ๋ด ์ ์ฅ์ ์ฃผ์>
- clone๋ช ๋ น์ผ๋ก ์์ฑ๋ ํด๋๋ก ์ด๋ํฉ๋๋ค.
cd <์์ฑ๋ ํด๋ ์ด๋ฆ>
- upstream ์๊ฒฉ ์ ์ฅ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
git remote add upstream <๊ณต์ฉ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์>
์๋ฅผ ๋ค์ด, WeTube-project์ git-training ์ฃผ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ๋ค์์ ์ ๋ ฅํ์ฌ origin๊ณผ upstream ์ ๋ณด๋ฅผ ํ์ธํฉ๋๋ค.
git remote -v
- origin : ๊ณต์ฉ ์ ์ฅ์๋ฅผ ๊ฐ์ธ๊ณ์ ์ forkํ ์ ์ฅ์
- upstream : ๊ณต์ฉ ์ ์ฅ์
- ์์ ์ํ๋ฅผ ์์๋ก ํ์ธํฉ๋๋ค.
git status
- ์์ ๋ธ๋์น๋ฅผ ๋ง๋ญ๋๋ค.
git switch -c <๋ธ๋์น ์ด๋ฆ> origin/main
๋ธ๋์น ์ด๋ฆ์ ์์ ํ ๋ด์ฉ์ ํํํฉ๋๋ค.
- upstream ์๊ฒฉ ์ ์ฅ์์ ์ต์ ์ํ๋ฅผ ๋ฐ์ํฉ๋๋ค.
git fetch upstream main
git rebase upstream/main
๋์ค์ ํ์์ด upstream์ ๋ณ๊ฒฝํ์์ ๊ฒฝ์ฐ ์ถฉ๋ํ๋ฏ๋ก
์์
์ ์์ํ๊ธฐ ์ ์ ์ต์ ์ํ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
-
์์ ์ ํฉ๋๋ค.
์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ํ๋ ์์ ์ ํฉ๋๋ค. -
commit์ ์์ฑํฉ๋๋ค.
git add .
๋ณ๊ฒฝ๋ ๊ฒ์ ์ถ๊ฐํฉ๋๋ค.
git commit
์ปค๋ฐ๋ฉ์์ง ์์ฑํ esc๋ฅผ ๋๋ฅด๊ณ :wq๋ฅผ ํ์ฌ ์ ์ฅํฉ๋๋ค.
- ์๊ฒฉ ์ ์ฅ์์ ์์ ํ ๋ธ๋์น๋ฅผ ์ฌ๋ฆฝ๋๋ค.
git push origin <branch ์ด๋ฆ>
-
pull request ํฉ๋๋ค.

fork๋ ๋ด ์ ์ฅ์์์ Compare & request๋ฅผ ๋๋ฆ ๋๋ค. -
mergeํ๊ธฐ์ ๋ค์ ๋ ๊ฐ์ง๋ฅผ ์ฒดํฌํฉ๋๋ค.
- ์ฌ๋ฌ ๊ฐ์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ํ๋๋ก ํตํฉํฉ๋๋ค.
3๊ฐ์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ํตํฉํ๋ ๊ฒฝ์ฐ๋ฅผ ์์๋ก ๋ญ๋๋ค.
git rebase -i HEAD~3
- upstream ์๊ฒฉ ์ ์ฅ์์ ์ต์ ์ํ๋ฅผ ๋ฐ์ํฉ๋๋ค.
git fetch upstream main
git rebase upstream/main
๋์ค์ ํ์์ด upstream์ ๋ณ๊ฒฝํ์์ ๊ฒฝ์ฐ ์ถฉ๋ํ๋ฏ๋ก
mergeํ๊ธฐ ์ ์ ํ๋ฒ ๋ ์ต์ ์ํ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
-
mergeํฉ๋๋ค.

๊ณต์ฉ ์๊ฒฉ ์ ์ฅ์(WeTube-project์ git-tutorial)์ Pull requestsํญ์์
Merge pull request๋ฅผ ๋๋ฆ ๋๋ค. -
fork๋ ๋ด ์ ์ฅ์์ ํ์ฌ branch๋ฅผ main์ mergeํฉ๋๋ค.
git switch main
main์ผ๋ก ์ด๋ํฉ๋๋ค.
git merge <main์ mergeํ๊ณ ์ ํ๋ branch ์ด๋ฆ>
mergeํฉ๋๋ค.
-
fork๋ ๋ด ์ ์ฅ์์์ ์์ ํฉ๋๋ค.
-
๊ณต์ฉ ์๊ฒฉ ์ ์ฅ์์ commit, pushํ์ง ์์ต๋๋ค.
-
๋ค๋ฅธ ํ์์ ์ฝ๋๋ฅผ mergeํ์ง ์์ต๋๋ค.
-
์์ ํ๊ธฐ์ ๊ณผ mergeํ๊ธฐ์ ์ upstream ์๊ฒฉ ์ ์ฅ์์ ์ต์ ์ํ๋ฅผ ๋ฐ์ํฉ๋๋ค.
git fetch upstream main git rebase upstream/main
์ค์ต์ด ํ์ํ๋ค๋ฉด ๋ค์ ์ค์ ์ด๋ฆ ํน์ ๊นํ๋ธ username์ ์์ฑํ์ฌ
Pull Requset๋ฅผ ๋ณด๋ด Mergeํด ๋ด
๋๋ค.
