rebase
Last updated
Last updated
rebase๋ฅผ ๋จ๋ฐํ๋ฉด ์๋๋ค๊ณ ์๊ฐํ์ง๋ง, ์ด๋ค ํ๋ก์ ํธ์ ์๋์ง, ์ด๋ค ์ปค๋ฐ๋ค์ ํ๋์ง์ ๋ฐ๋ผ rebase๊ฐ ํ์ํ ์ํฉ์ด ์ฌ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ ๋ฆฌ์ ํ์์ฑ์ ๋๊ผ๋ค.
๋ค๋ง ๊นํ๋ธ๊ฐ์ ์ฝ๋ ์ ์ฅ์์๋ ํธ์ํ ๋ด์ฉ์ ๋ก์ปฌ์์ rebaseํด ๋ค์ ํธ์ํ๋ ๊ฒ์ ์ด๋ฏธ ํธ์ํ๋ ๋ด์ฉ์ pull๋ฐ์๋ ๋๋ฃ๋ค์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ผ๊ฐ์ผํ ๊ฒ ๊ฐ๋ค. ๋ก์ปฌ ์ปค๋ฐ ํ์ ํ์์ ๋ฐ๋ผ rebase๋ฅผ ์งํํ๋ ๊ฒ์ด ํ์ฌ์ ์๊ฐ์ผ๋ก์๋ ๋ง๋ ๊ฒ ๊ฐ๋ค.
git rebase : ๋ง ๊ทธ๋๋ก ์ปค๋ฐํ ๋ด์ฉ์ rebaseํ๋ ๊ฒ์ด๋ค. base๋ฅผ ๋ค์ ์ก๋๋ค๊ณ ์๊ฐํ๋ฉด ํธํ๋ค.
rebase์ ์ฌ๋ฌ ์ต์ ์ด ์์ง๋ง ์์ฃผ ์ฌ์ฉํ ๊ฒ ๊ฐ์ ์ต์ ๋ง ์ ๊ฒ ๋ค.
git rebase -i HEAD~2 ๋ ํค๋๊ฐ ๊ฐ๋ฆฌํค๋ ์ปค๋ฐ์ผ๋ก๋ถํฐ 2๊ฐ์ ์ปค๋ฐ์ ๋ฆฌ๋ฒ ์ด์คํ๊ฒ ๋ค๋ ๋ป์ด๋ค. -i๋ interactive์ต์ ์ผ๋ก ํฐ๋ฏธ๋์์ ๋ํํ์์ผ๋ก ์ด๋ป๊ฒ rebaseํ ์ง๋ฅผ ์ ํ ์ ์๋ค. ์์ฃผ ์ฌ์ฉํ ์ต์ ์ squash๋ก s๋ก ์ค์ฌ์ ์ฌ์ฉํด๋ ๋๋ค.
์ ์ธ์ค์ ์๋์ฒ๋ผ ๋ฐ๊พธ๋ฉด pick์ ์ค์ ํ ์ปค๋ฐ์ ๊ธฐ์ค์ผ๋ก ํ ๊ฐ์ ์ปค๋ฐ์ผ๋ก ํฉ์ณ์ง๋ค.
2. git pull์ด git fetch + merge๋ผ๋ฉด git pull -rebase๋ git fetch + rebase์ด๋ค. git pull โrebase master : ํผ์ณ ๋ธ๋์น ๋ด๋ถ์์ ์ด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด master๋ก rebase๋๋ค.
๊ทธ๋ฆผ์ผ๋ก ๋ณด์.
issue3๋ธ๋์น์์ ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๋ค์ ๊ทธ๋ฆผ์ฒ๋ผ ๋๋ค.
๋ํ mergeํ ๋ fast-forward๊ด๊ณ์ ๋ํด์ ์์์ผ ํ ํ์๊ฐ ์๋ค. ๊ฐ๋จํ๊ฒ ๋งํ๋ฉด ์ปค๋ฐ Aํ์คํ ๋ฆฌ์ ์ปค๋ฐ Bํ์คํ ๋ฆฌ๊ฐ ํฌํจ๋์ด ์๋ ๊ฒ์ด๋ค.
fast-forward ์ฐธ๊ณ ๋งํฌ : https://koreabigname.tistory.com/65 git-flow ์ฐธ๊ณ ๋งํฌ : https://techblog.woowahan.com/2553/
์ปค๋ฐ Bํ์คํ ๋ฆฌ์ ์ปค๋ฐ Aํ์คํ ๋ฆฌ ์ ์ฒด๊ฐ ํฌํจ๋์ด ์๋ ์ ๊ทธ๋ฆผ์ A์ B๋ fast-forward ๊ด๊ณ์ด๋ค. ๋ฐ๋ฉด ์๋ ๊ทธ๋ฆผ์ A์ B๋ fast-forward ๊ด๊ณ๊ฐ ์๋๋ค.