git rebase
๋ค๋ฅธ ๋ธ๋์น ์์ ์๋ ์ปค๋ฐ์ ๋ค์ ์ ์ฉํฉ๋๋ค.
์ฃผ๋ก ์ ์ฒด ๋ธ๋์น๋ฅผ ๋ค๋ฅธ ๊ธฐ์ ๋ก "์ด๋"ํ์ฌ ์ ์์น์ ์ปค๋ฐ์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค ๋ ์ฌ์ฉ๋ฉ๋๋ค.
๋ ๋ง์ ์ ๋ณด: https://git-scm.com/docs/git-rebase.
- ํ์ฌ ๋ธ๋์น๋ฅผ ๋ค๋ฅธ ์ง์ ๋ ๋ธ๋์น ์์ ๋ฆฌ๋ฒ ์ด์ค:
git rebase {{์_๊ธฐ์ _๋ธ๋์น}}
- ์ปค๋ฐ์ ์ฌ๋ฐฐ์น, ์๋ต, ๊ฒฐํฉ ๋๋ ์์ ํ ์ ์๋๋ก ํ๋ ๋ํํ ๋ฆฌ๋ฒ ์ด์ค ์์:
git rebase -i {{๋์_๊ธฐ์ _๋ธ๋์น_๋๋_์ปค๋ฐ_ํด์}}
- ์ถฉ๋ํ๋ ํ์ผ ํธ์ง ํ, ๋ณํฉ ์คํจ๋ก ์ค๋จ๋ ๋ฆฌ๋ฒ ์ด์ค ๊ณ์ํ๊ธฐ:
git rebase --continue
- ์ถฉ๋์ด ๋ฐ์ํ ์ปค๋ฐ์ ๊ฑด๋๋ธ ๋, ๋ณํฉ ์ถฉ๋๋ก ์ผ์ ์ค์ง๋ ๋ฆฌ๋ฒ ์ด์ค๋ฅผ ๊ฑด๋๋ฐ์ด์ ๊ณ์ํ๊ธฐ:
git rebase --skip
- ์งํ ์ค์ธ ๋ฆฌ๋ฒ ์ด์ค ์ค๋จ (์: ๋ณํฉ ์ถฉ๋๋ก ์ธํด ์ค๋จ๋ ๊ฒฝ์ฐ):
git rebase --abort
- ์์ํ ์ ์๋ ์ค๋๋ ๋ฒ ์ด์ค ์ ๊ณต ๋ฐ ํ์ฌ ๋ธ๋์น ์ผ๋ถ๋ฅผ ์ ๋ฒ ์ด์ค๋ก ์ด๋:
git rebase --onto {{์_๊ธฐ์ }} {{์ด์ _๊ธฐ์ }}
- ๋ง์ง๋ง 5๊ฐ์ ์ปค๋ฐ์ ๊ทธ๋๋ก ๋ค์ ์ ์ฉํด, ์ฌ๋ฐฐ์น, ์๋ต, ๊ฒฐํฉ ๋๋ ์์ ํ ์ ์๋๋ก ๋ฉ์ถ๊ธฐ:
git rebase -i {{HEAD~5}}
- ์์
๋ธ๋์น ๋ฒ์ ์ ์ฐ์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ชจ๋ ์ถฉ๋์ ์๋์ผ๋ก ํด๊ฒฐ (
theirs
ํค์๋๋ ์ด ๊ฒฝ์ฐ ๋ฐ๋ ์๋ฏธ๋ฅผ ๊ฐ์ต๋๋ค):
git rebase -X theirs {{๋ธ๋์น_์ด๋ฆ}}