본문 바로가기

Git

[Git]Git Interactive tutorial6

마지막이다. 

 

1. 9천번이 넘는 리베이스

우리의 목표이다.

여기에서 어떻게하면 목표처럼 만들 수 있을까?

나는 각각의 브랜치를 checkout 하고, rebase해 주는 방법을 생각했다.

 

(1) git checkout bugFix

HEAD를 bugFix에 두었다.

 

(2) git rebase main

bugFix의 복사본을 main의 자식으로 붙여넣는다.

 

(3) git checkout c6

side로 HEAD 이동

 

(4) git rebase bugFix

side를 포함한 부모 요소를 모두 bugFix에 rebase한다.

 

(5) git checkout another

 

(6) git rebase side

another의 복사본까지 side의 자식으로 넣어졌다.

 

(7) git branch -f main c7'

main 브랜치를 c7' 커밋으로 이동했다. 만약 git branch -f main another을 사용했으면, main은 c7' 커밋으로 이동하지만, HEAD는 another로 이동한다.

 

이렇게 풀어도 성공한다. 하지만, 4개의 명령어만 사용해서 해결할 수 있다고 한다.

 

다시 풀어보자.

 

(1) git rebase main bugFix

 

 

(2) git rebase bugFix side

(3) git rebase side another

(4) git rebase another main

 

rebase는 인자를 2개를 두어 첫번째 2번째 인자를 복사해 첫번째 인자의 자식으로 복사 붙여넣기 할 수 있다는 것을 까먹었다.

'Git' 카테고리의 다른 글

[Git]Git Interactive tutorial5  (0) 2022.08.17
[Git]Git Interactive tutorial4  (0) 2022.08.16
[Git]Git Interactive tutorial3  (0) 2022.08.12
[Git]Git Interactive tutorial2  (0) 2022.08.11
[Git]Git Interactive tutorial  (0) 2022.08.10