git rebase ๐จ
๋ด ๊น ์ปค๋ฐ์ blocker... git rebase ๋ฌด์์ด ๋๋๋ ์.....ํ์ง๋ง ์ฐ๋๋ฐ๋ ๋ค ์ด์ ๊ฐ ์๋ค.. ์ด์ฌํ ์์๊ฐ ๋ณด์! ๐๐ผโโ๏ธ
์ฐธ๊ณ ๋ธ๋ก๊ทธ ์ฐธ๊ณ ๋ธ๋ก๊ทธ2 ์ฐธ๊ณ ๋ธ๋ก๊ทธ3
์ฐ๋ฆฌ์ ๋ชฉ์ ์ ๋ก์ปฌ ๋ธ๋์น์์ ์์
ํ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง์คํฐ ๋ธ๋์น๋ก ํฉ์น๋ ๊ฒ
์ธ๋ฐ, ๊ทธ ๋ฐฉ๋ฒ์ ์ด๋ป๊ฒ ํ ๊ฒ์ด๋์ ์ฐจ์ด์ด๋ค. messy branch history
์ ๋ํ์์ด ๋ ๊ฒ์ด๋ค!์ ์ฒด feature branch๋ฅผ master ๋ก ์ฎ๊ธฐ๋ ํํ
๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.git flow๊ฐ timeline ์ฒ๋ผ ํ ์ค๋ก ๊ด๋ฆฌ
๊ฐ ๋๊ธฐ ๋๋ฌธ์ history trace๊ฐ ํธํ๋ค.git clone 'ํด๋ก ๋ฐ์ ๋ ํฌ์ url'
git branch 'feature/main'
git checkout 'feature/main'
์ด์ฌํ ์์
๋ฐ ์์
git add .
git commit -m"complete main"
git checkout master
git pull origin master
git checkout feature/main
์ฌ๊ธฐ๊น์ง๋ merge๋ rebase๋ ๊ณผ์ ์ ๋๊ฐ๋ค ์ด ์ดํ๋ถํฐ๊ฐ ์ค.์!
git rebase โi master feature/main
-i โvim์ ์ผ์ ์คํํ๋ค๋ ๋ป
commit ๋ชฉ๋ก ์ค ์ ์ผ ์๋จ commit, ์ ํํ๋ ค๋ commit์ p(pick) ๋๋จธ์ง๋ฅผ s(squash)๋ก ์ง์
11.1 successfully rebased and updated
๊ฐ ๋จ๋ฉด git push origin feature/main
11.2 conflict๊ฐ ๋จ๋ฉด conflict ์์ ํ
git add .
git rebase --continue
ํด๊ฒฐ ๋ ๋ ๊น์ง ๋ฌดํ ๋ฐ๋ณต git add .
git rebase --continue
์์ ํ๊ณ successfully rebased and updated
๊ฐ ๋จ๋ฉด git push origin feature/main
๋ง์ฝ ํ์ฌ master๊ฐ ๊ทธ์ฌ์ด ์
๋ฐ์ดํธ ๋์๋ค๋ฉด, 7๋ฒ ๋ถํฐ ๋ค์ ์คํ ํด์ผ ํ๋๋ฐ,์ด ๋ ๋ค์ ์งํํ๋ฉด rejected ๊ฐ ๋๋ฉด git push origin feature/main -f
force push ํ๋ค
๊ทธ ํ github์ ๊ฐ์ Pull Request
์์ฑ
(ํน์๋ ์๋ชป๋ ์ ๋ณด๊ฐ ์์ผ๋ฉด ๋ง์ ๋ถํ๋๋ฆฝ๋๋ค (๊น์์ ใ ใ ))
์ค ์ ์ ์ด๋์ ๋ ๊ฒ์ด๋
์ด๋ค.It is what it is!
๋ผ๋ฉด git merge git rebase