๐จ ๋ฌธ์ ์ํฉ: ์ฒ์ ์ธํ ๋ฆฌ์ ์ด ํ์ ์ github์ ์ฌ๋ฆฌ๋ ค๊ณ github์์ ์๋ก์ด ๋ ํฌ๋ฅผ ๋ง๋ค๊ณ (readme ์ถ๊ฐํด๋)์ธํ ๋ฆฌ์ ์ด์์ ์ปค๋ฐํ๋ ค๊ณ ํ ๋, ์ค๋ฅ ๋ฐ์.
TL;DR
pull ์ต์ ์ rebase๋ก ํ ํ,git branch --set-upstream-to=origin/main main๋ก ๋ก์ปฌ์ด ์๊ฒฉ์ branch๋ฅผ ๋ฐ๋ผ๊ฐ ์ ์๊ฒํ๋ฉด push ์ฑ๊ณต!
๋ฌธ์ ์ํฉ์ ๋ง๋๊ธฐ ์ ๊น์ง ์ฌ์ฉํ ๋ช ๋ น์ด
git init
git remote add origin https://github.com/allzeroyou/java-test.git
git status
git checkout -b main // main ๋ธ๋์น๋ก ๋ณ๊ฒฝ
git add .
git commit -m "intellij commit"
// ์์ฐจ github ๋ ํฌ์ readme ์ถ๊ฐํด๋จ์ง..
// push ์ ์ pull ํด์ผ๊ฒ ๋ค.
git pull origin main
๊ทธ๋ฌ๊ณ ๋๋๊น pull ์ด ์๋์๋๋ฐ,


pull ํ๋ ค๋ ์๊ฒฉ์ ์ฅ์์ ๋ธ๋์น์ ๋ก์ปฌ์ ์ฅ์์ ๋ธ๋์น๊ฐ fast-forward ๊ด๊ณ์ผ๋๋ง pull ํ์ฉ.
๋ ๋ธ๋์น๊ฐ fast-forward ๊ด๊ณ๋ผ๋ ๊ฑด, ๋ ์ค ํ๋๋ฅผ ์๋ฏธ
๋ ๋ธ๋์น๊ฐ ๊ฐ๋ผ์ง commit์ ๊ธฐ์ค์ผ๋ก
โ ๋ง์ฝ ์๊ฒฉ์ ์ฅ์์ ์๋ก์ด commit์ด ์กด์ฌํ๋๋ฐ git pull์ ํ์ง ์์ ์ํ์์ ๋ก์ปฌ์ ์ฅ์์์ ์๋ก์ด commit ํ๋ค๋ฉด, git์ pull ํ์ฉ ์ํจ.

์ฌ์ง: ์ธํ ๋ฆฌ์ ์ด์์ ๊ด๋ฆฌ๋๋ ํ์ฌ Local๊ณผ remote ๋ธ๋์น.
1๋ฒ ์ต์
์ ๊ฒฝ์ฐ, ํ์ฌ ๋ก์ปฌ, ์๊ฒฉ ๋ชจ๋ ์ปค๋ฐ ๋ด์ญ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ -ff ์ต์
์ ์ ๋จน์์ ๊ฒ์ด๋ค(์ค์ ๋ก๋ ์๋จน์)

pull ํ ๋ rebase๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ ๊ฐ์ด ๋์.

rebase๋?
์ ๋ธ๋์น๊ฐ ์์๋ ๋ถ๊ธฐ์ commit ์กด์ฌ.
์ด ๋ถ๊ธฐ์ ์ ๊ธฐ์ค ๋ธ๋์น์ ๊ฐ์ฅ ์ต๊ทผ commit์ผ๋ก ๋ณ๊ฒฝํ๋ ์์ .
-> ๋ก์ปฌ ๋ธ๋์น์ ์์์ ์ ์๊ฒฉ ๋ธ๋์น์ ๋ง์ง๋ง commit์ผ๋ก ์ฎ๊น.
๊ทธ๋! rebase๋ฅผ ์จ๋ณด์!

์๋๋๋ฐ?
ํ์ฌ ๋ธ๋์น์ ์ถ์ ์ ๋ณด๊ฐ ์์ต๋๋ค.
๋ผ๋๋ฐ.. ๋๋ main์ด๋ผ๋ ๋ธ๋์น๊ฐ ์๋จ ๋ง์ด์ง???
โจ ํด๊ฒฐ๋ฐฉ๋ฒ:
โmain์ ๋ก์ปฌ์์์ ๋ธ๋์น์ด๊ณ , ์๊ฒฉ์ ์ฅ์๋ origin/main์ด๋ค.
์ฆ, ์ด ๋์ด ์๋ก๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ผ์ด๋ ์ค๋ฅ์ด๋ค!
๋ฐ๋ผ์,
git branch --set-upstream-to=origin/main main
์ ํตํด ๋ก์ปฌ์ main ๋ธ๋์น๊ฐ origin/main์ ๋ฐ๋ผ๊ฐ ์ ์๋๋ก ํด์ฃผ๊ณ , push๊น์ง ํ๋๊น...
์ปค๋ฐ ์ฑ๊ณต~

git pull ์ ๋ฐ์ํ๋ warning ํด๊ฒฐํ๊ธฐ(Need to specify how to reconcile divergent branches)