์ํฉ
rebase๋ฅผ ํ๊ณ ์๊ฒฉ ์ ์ฅ์์ Push๋ฅผ ํ๋ค.
๊ทธ๋ฐ๋ฐ pushํ๊ณ ๋์ rebase๊ฐ ์๋ชป ๋์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค.
reset์ ํ์๋.. ๊ทธ ์ด์ ์ปค๋ฐ์ rebase๋์ด์ ์๋๋ฐ..?
ํด๊ฒฐ์ฑ
1. git reflog๋ก rebase ํ๋ ์ปค๋ฐ ์ด๋ ฅ์ ํ์ธํ๋ค.
git reflog <๋ธ๋์น๋ช
>
reflog๋ reference log ์ ์ค์๋ง๋ก ์ฐธ์กฐ ๋ก๊ทธ๋ผ๋ ๊ฒ์ด๋ค.
(git log ๋ช ๋ น์ด๋ก ์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ๋ก๊ทธ๋ก ๋ณด๋ ๊ฒ๊ณผ ๋๊ฐ์ด ๋จ์ํ ๋ก๊ทธ๋ฅผ ํ์ธํ๋ ๋ช ๋ น์ด์ด๋ค.)
git ๋ก์ปฌ ์ ์ฅ์๋ ์ด ์ฐธ์กฐ ๋ก๊ทธ์ ์ต๊ทผ ์ด๋ ฅ์ ๋ชจ๋ ์ ์ฅํ๊ณ ์๋ค. ๋ฐ๋ผ์ reflog ๋ช ๋ น์ด๋ก reset --hardํ๊ฑฐ๋ rebaseํ ์ปค๋ฐ ์ด๋ ฅ๋ ํ์ธํ ์ ์๋ค.
2. ์ด์ rebase๋ฅผ ํ๊ธฐ ์ด์ ์ผ๋ก ๋๋์๊ฐ๊ณ ์ถ์ ์ปค๋ฐ ์์ด๋๋ฅผ ๋ณต์ฌํ๋ค.
๋์ ๊ฒฝ์ฐ 185b23a
3. ๋๋์๊ฐ๊ณ ์ถ์ ์ปค๋ฐ์ผ๋ก reset ์ํจ๋ค.
git reset --hard 185b23a
4. ๊ฐ์ ๋ก ์๊ฒฉ์ ํธ์ฌํ๋ค.
git push -f origin <๋ธ๋์น๋ช
>
-f ์ต์
์ ๋ถ์ฌ์ ๊ฐ์ ๋ก ๋ก์ปฌ ๋ธ๋์น ์์ ์ฌํญ์ ์๊ฒฉ ์ ์ฅ์์ธ origin์ ํธ์ฌํ๋ค.
์ฐธ๊ณ
rebase๋ฅผ ํ๋ ๋์ค์ rebase ์์ ์์ฒด๋ฅผ ์ทจ์ํ๋ ๊ฑด
git rebase --abort ๋ช ๋ น์ด๋ก ํ๋ฉด๋๋ค.