[git] | Re-base

강지현·2024년 7월 17일
0

git

목록 보기
8/9
post-thumbnail

Re-base & Merge의 차이점

commit history가 다르다.


실습

1. master branch에서 dev branch (clean) 생성

2. clean 파일에서 청소기 완료

3. finish 청소기 commit

4. master branch에서 merge-plant branch 생성

5. merge-plant branch에서 plant 파일 잡초뽑기 finish

6. finish 잡초뽑기 commit

7. plant 파일에서 물주기 finish 후 commit

8. dev branch에서 clean 파일의 세탁기 finish하고 commit

9. 건조기 finish하고 commit

10. merge-plant branch에서 finish 분갈이 후 commit

11. dev branch에서 merge merge-plant into dev

12. master branch에서 rebase-dev branch와 rebase-plant branch 생성

13. rebase-dev branch에서 clean 파일 청소기 finish 후 commit

14. rebase-dev branch에서 세탁기 finish 후 commit

15. rebase-plant branch에서 잡초뽑기 finish 후 commit

16. 물주기 finish 후 commit

17. rebase-dev branch에서 건조기 finish 후 commit

18. rebase-plant branch에서 분갈이 finish 후 commit

19. rebase-dev branch에서 rebase-plant를 rebase하기 (Rebase rebase-dev onto rebase-plant)

merge인 경우

rebase인 경우

20. master branch에서 new-dev branch와 new-plant branch 생성

21. new-dev branch에서 clean 파일 내 청소기 finish 후 commit

22. 세탁기 finish 후 commit

23. new-plant branch에서 잡초뽑기 finish 후 commit

24. 물주기 finish 후 commit

25. new-plant branch에서 new-plant-food branch 생성

26. new-plant-food branch에서 food 파일 내 mainDish finish 후 commit

27. pasta finish 후 commit

28. drink finish 후 commit

확인해보면 clean 파일은 합쳐지지 않았고 food 파일은 finish, plant 파일은 분갈이를 아직 안한 상태이다.

29. master branch로 먼저 완료된 food 파일 먼저 rebase하면

But 완성되지 않은 plant 파일도 함께 왔기 때문에 new-plant와 new-plant-food를 분리해주어야 한다.

UI로는 어려워서 Terminal에서 명령어로 입력

30. CLI로 git rebase --onto master new-plant new-plant-food 입력

31. 그후, 분리되면 Rebase new-plant-food onto master 진행

profile
시작!!

0개의 댓글