4단계를 풀어볼 차례이다!
1. 로컬에 쌓인 커밋들
cherry-pick이나 rebase -i를 사용하여 자유롭게 이동할 수 있도록 하자.
우리의 목표이다.
목적을 달성하기 위해서는 HEAD를 main으로 checkout 한 후 c4를 main에서 cherry-pick 하면 해결되지 않을까 했다.
(1) git checkout main : HEAD를 main으로 옮긴다.
(2) git cherry-pick bugFix : bugFix를 복사해 main아래로 붙여넣는다.
2. 커밋들 갖고 놀기
- git commit --amend : 커밋 내용을 정정
rebase -i를 사용하여 자유롭게 이동시켜보자!!
왼쪽은 현재 상황이고 오른쪽은 목표이다. rebase -i를 사용하여 자유롭게 갖고 노는 시간을 가져봐야 겠다.
(1) git rebase -i main : interactive rebase를 사용하여 GUI환경에서 변경했다.
목표에 맞게 GUI환경으로 순서와 복사할 커밋을 정할 수 있어 목적에 맞게 C3, C2순서대로 복사하였다.
결과는 C3 C2순으로 복사되었고, C3의 커밋은 C2의 복사본으로 이동하였다.
(2) git rebase -i c3' : c3의 복사본 아래의 c2'를 다시한번 더 복사하여 붙여넣을 수 있다.
같은 방법으로 진행하였다.
(3) git rebase -i main
복사본의 복사본을 만들어 main아래의 새로운 branch로 보낸다
(4) git branch -f main c3'' : 강제로 main branch를 c3''커밋으로 이동한다.
결과에 맞게 잘 출력되었다!
'Git' 카테고리의 다른 글
[Git]Git Interactive tutorial6 (0) | 2022.08.18 |
---|---|
[Git]Git Interactive tutorial5 (0) | 2022.08.17 |
[Git]Git Interactive tutorial3 (0) | 2022.08.12 |
[Git]Git Interactive tutorial2 (0) | 2022.08.11 |
[Git]Git Interactive tutorial (0) | 2022.08.10 |