
git rebase는 Git에서 브랜치의 커밋을 다른 브랜치의 커밋 위로 "이동"하는 작업을 의미합니다.
즉, 선택한 브랜치의 변경 사항을 기준 브랜치(예: main 또는 staging 등)의 최신 커밋 이후로 재배치합니다.
히스토리 재구성: git rebase를 사용하면 커밋 그래프를 더욱 선형적으로 만들 수 있습니다.
즉, 브랜치가 병합된 것이 아니라 마치 연속적으로 커밋한 것처럼 보이게 됩니다.
더 깔끔한 커밋 기록: 리베이스를 통해 복잡한 병합 기록 없이 커밋 내역을 깔끔하게 정리할 수 있습니다. 이는 프로젝트의 히스토리를 보다 쉽게 이해할 수 있게 합니다.
충돌 해결 용이: 리베이스를 진행하면서 발생하는 충돌을 즉시 해결할 수 있기 때문에, 코드의 통합 과정에서 문제가 발생했을 때 피드백을 즉시 받을 수 있습니다.
역사적 일관성: 커밋의 시간 순서를 재정렬함으로써, 어떤 기능이 언제 추가되었는지를 명확히 할 수 있습니다. 이를 통해 프로젝트 발전 과정을 더 잘 나타낼 수 있습니다.
코드 깔끔하게 유지: 리베이스 후 연속적인 커밋으로 정리된 작업은 다른 개발자들이 변경 사항을 이해하고 검토하는 데 더욱 용이합니다.
git checkout staging
git checkout -b feature
작업 후 커밋 수행:
git add .
git commit -m "기능 구현 완료"
작업 완료 후 staging 브랜치의 최신 커밋으로 업데이트:
git fetch origin (원격 저장소에서 변경 사항을 가져오기 - 선택 사항)
git rebase staging
리베이스 후 강제로 푸시해야 할 수 있음:
git push origin feature --force
리베이스 완료된 feature 브랜치의 변경 사항을 staging 브랜치에 통합:
git checkout staging
git merge feature
git push origin staging