티스토리 뷰

Git

9. rebase 병합

prprme 2021. 1. 17. 01:41

rebase 병합

베이스(base) : 브랜치의 공통 조상 커밋

리베이스(rebase) : 커밋 순서 재배치를 통합 병합

커밋 위치와 해시값 변경을 동반하여 공개된 저장소에서는 권장하지 않음(원칙)

외부로 코드를 푸시하거나 공개하기 전에 로컬에서만 실행하는 거이 좋으며,

외부에 공개된 커밋을 리베이스하면 커밋 위치와 해시 값이 변경되어 혼란을 야기함.

 

medium.com/@richarderdos/git-rebase-tips-tricks-164734a2e47d

 

리베이스 | rebase

git rebase [기준 브랜치이름]

- 파생된 브랜치의 커밋들은 기존의 base가 아닌 기준 브랜치의 마지막 커밋 이후로 순서대로 나열됨

- 기준 브랜치에서 git merge 명령을 했던 것과 병합 기준/대상이 반대이다.

 

-master 브랜치

-master에서 파생된 test3 브랜치

 

- test 브랜치에서 git rebase 명령

- rebase 후 log 

- test 브랜치의 커밋값이 변경됨

- 리베이스는 커밋 순서만 재배열하고 HEAD의 위치를 바꾸진 않음, 바꾸어 주어야 함

git checkout [기준 브랜치]
git merge [병합할 브랜치]

 

리베이스 충돌

git rebase --continue

- 충돌 해결하고 git add로 스테이지에 올린후

- git rebase --continue 명령

 

직전 리베이스 취소

git rebase --abort

 

'Git' 카테고리의 다른 글

10. 복구  (0) 2021.01.17
8. 병합과 충돌  (0) 2021.01.17
7. 스태시(임시 저장)  (0) 2021.01.16
6. 원격 브랜치  (0) 2021.01.16
5. 브랜치  (0) 2021.01.16
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함