다른 개발자간의 협업을 통해서 rebase를 활용하는 방법을 알아보겠습니다.
처음 저장소의 생성부터 포스팅을 다루므로, 전체적인 내용이 길다고 느껴지시면
7번 이후부터 보시면 됩니다.
1. 실습 환경 구성
1.1 로컬저장소 버전 생성 후 원격저장소로 Push
2. 다른 개발자의 PC 실습 환경 구성
3. main branch에서 새로운 커밋 생성 후 Push
4. 다른 PC의 main branch에서 업로드된 내용을 Pull (Fetch+Merge 사용)
5. 두 PC에서 새로운 버전을 생성하고 Commit
6. A 개발자의 PC에서 commit한 버전을 Push하고, B개발자에서 fetch로 받아오기
6.1 가져온 커밋을 확인하고 병합하기
7.1 최종적으로 B 개발자가 병합한 내용을 Push하여 A 개발자 Pull 하도록 전달
8. A 개발자와 B 개발자간의 PC에서 새로운 버전 생성
8.1 생성된 버전을 A 개발자만 Push 한 상황
9. B 개발자에서 A 개발자가 먼저 업로드한 내용을 확인
9.1 선형적인 가독성을 위해서 merge 대신에 rebase를 하기로 결정
9.2 rebase가 되는 base commit
은 4504a45
커밋이 됩니다.
10. rebase된 커밋을 Push하고 최종적으로 A Push된 내용을 개발자가 Pull
번외 Rebase를 사용할 때는 Rebase하려는 branch의 HEAD Commit
이 누구에게도
공유된적이 있으면 안됩니다. 공유된 누군가가 Head Commit
을 수정하고 Push한
이후에, Rebase를 하고 Push 한다면 어마어마한 충돌이 발생하기 때문입니다.