#37 Git - Rebase 2/3

김현준·2022년 12월 29일
0

GIT

목록 보기
37/41

이번에는 rebase 실습을 해보겠습니다.

일단 git 을 3개 쓰겠습니다. 그리고 rebase 라는 저장소를 만들어 주고 이동해줍니다.

f1.txt 파일을 만들고 addcommit 을 해줍니다.

rb 라는 branch 를 만들어 줍니다. -b 를 쓰면 바로 이동할 수 있습니다.

그리고 git log --decorate --all --oneline --graph 를 통해서 현재 상태를 확인해줍시다.

re.txt 라는 파일을 새로 만들고 addcommit 을 해줍니다.

한번더 git log --decorate --all --oneline --graph 를 통해서 현재 상태를 확인해줍시다.

한번더 re.txt 를 수정하고 commit 을 한다음에 git log --decorate --all --oneline --graph 를 통해서 현재 상태를 확인해줍시다.

master 로 돌아간 후에 master.txt 를 만들고 addcommit 를 해줍니다. 그러면 왼쪽 아래처럼 상태가 변하게 됩니다.

한번더 master.txt 를 수정하고 commit 을 한다음에 상태를 확인하겠습니다. 이제 rebase 를 해봅시다

rbbaseee33e86master 의 최신 commit_id95f7ef 로 바꾸겠습니다.

git checkout rb 를 해주고 git rebase master 를 실행해줍니다.
그러면 왼쪽 아래에서 오른쪽 아래로 변하게 됩니다.

잘 보면 rbbaseee33e86 였는데 95f7ef 라는 master 의 최신 commit 이 된것을 확인 할 수 있습니다.

rebase 를 한 후에 rbM1 , M2 까지 포함하는 branch 가 되었습니다.

이후 git checkout master 후에 master 에서 rb 를 병합해보겠습니다. 그러면 Fast-forward 라고 뜹니다. 왜냐하면 현재 rbmaster 는 서로 다른 분기점이 없기 때문에 Three way merge 를 사용하지 않았기 때문입니다.

이제 오른쪽 아래 처럼 masterrb 는 같은 commit 을 가르키게 됩니다.

지금까지 rebase 에 대해 실습을 통해 알아보았습니다.
다음에는 rebase 에서 충돌이 발생시 해결하는 방법에 대해 알아보겠습니다.

여기까지 하도록 하겠습니다.

profile
울산대학교 IT융합학부 22학번

0개의 댓글