Notice
Recent Posts
Recent Comments
«   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
Tags
more
Archives
Today
Total
관리 메뉴

Chimy's Program

GIT Rebase 본문

GIT

GIT Rebase

chimy 2020. 4. 22. 15:57

GIT Rebase

 

부모(base)가 같은 여러 갈래로 늘어진 branch들을

로그에서 버전관리가 쉽도록 직렬 선형구조로 덧붙이는 명령어

단, rebase로 덧붙일 브랜치는 원격저장소에 저장(push)되지 않았어야한다

push 후 rebase한다면 change는 같지만 working copy가 다르기 때문에 엉망진창이 된다

rebase의 결과물은 merge한 결과물과 완전히 같아야 한다

 

 

init 파일을 만들고 버전 생성 후 topic 브랜치 생성

master 브랜치에서 m1, m2 파일을 만든 뒤 버전 생성

 

 

topic 브랜치로 이동하고 t1, t2, t3 파일을 만든 다음 버전을 생성한다

 

 

topic 브랜치와 master 브랜치의 파일 목록

 

 

master 브랜치를 topic 브랜치에 붙여 넣는다

원래 master 브랜치의 최종 버전을 새 버전으로 붙여 넣는게 아니라

master 브랜치와 topic 브랜치의 공동 조상인 init 이후의 생성된 버전들을 잘라내

topic 브랜치에 붙여넣는 것과 같다

기존 m1버전과 rebase로 붙여진 m1버전은 변경사항은 같으나 working copy는 다르다

※ git rebase : 가지로 나눠진 브랜치를 잘라 원하는 브랜치에 붙여 넣는 명령어

 

 

'GIT' 카테고리의 다른 글

GIT Rebase Conflict  (0) 2020.04.25
GIT Cherry-Pick Conflict  (0) 2020.04.24
GIT Cherry-Pick  (0) 2020.04.19
GIT Revert vs Reset Conflict 2  (0) 2020.04.17
GIT Revert vs Reset Conflict  (0) 2020.04.16
Comments