[Git] 리베이스(rebase) Workflow

Xabi·2025년 5월 26일

git

목록 보기
1/2

Git rebase

git rebase는 Git에서 브랜치의 커밋을 다른 브랜치의 커밋 위로 "이동"하는 작업을 의미합니다.
즉, 선택한 브랜치의 변경 사항을 기준 브랜치(예: main 또는 staging 등)의 최신 커밋 이후로 재배치합니다.

  • 히스토리 재구성: git rebase를 사용하면 커밋 그래프를 더욱 선형적으로 만들 수 있습니다.
    즉, 브랜치가 병합된 것이 아니라 마치 연속적으로 커밋한 것처럼 보이게 됩니다.

  • 더 깔끔한 커밋 기록: 리베이스를 통해 복잡한 병합 기록 없이 커밋 내역을 깔끔하게 정리할 수 있습니다. 이는 프로젝트의 히스토리를 보다 쉽게 이해할 수 있게 합니다.

  • 충돌 해결 용이: 리베이스를 진행하면서 발생하는 충돌을 즉시 해결할 수 있기 때문에, 코드의 통합 과정에서 문제가 발생했을 때 피드백을 즉시 받을 수 있습니다.

  • 역사적 일관성: 커밋의 시간 순서를 재정렬함으로써, 어떤 기능이 언제 추가되었는지를 명확히 할 수 있습니다. 이를 통해 프로젝트 발전 과정을 더 잘 나타낼 수 있습니다.

  • 코드 깔끔하게 유지: 리베이스 후 연속적인 커밋으로 정리된 작업은 다른 개발자들이 변경 사항을 이해하고 검토하는 데 더욱 용이합니다.

Git rebase Workflow

  1. staging 브랜치 체크아웃
git checkout staging
  1. staging 브랜치에서 feature 브랜치 생성 및 체크아웃
git checkout -b feature
  1. feature 브랜치에서 작업 진행 및 완료
작업 후 커밋 수행:
git add .
git commit -m "기능 구현 완료"
  1. 리베이스
작업 완료 후 staging 브랜치의 최신 커밋으로 업데이트:
git fetch origin (원격 저장소에서 변경 사항을 가져오기 - 선택 사항)
git rebase staging
  1. feature 브랜치 push
리베이스 후 강제로 푸시해야 할 수 있음:
git push origin feature --force
  1. feature -> staging 브랜치 merge
리베이스 완료된 feature 브랜치의 변경 사항을 staging 브랜치에 통합:
git checkout staging
git merge feature
  1. 원격 저장소에 변경 사항 푸시
git push origin staging
profile
롱런하는 개발자!

0개의 댓글