13. 리베이스 (rebase)

Tasker_Jang·2024년 2월 26일
0
post-custom-banner

git rebase를 사용하여 깃 히스토리를 정리하는 것은 효율적이지만 몇 가지 주의사항이 있습니다.

  1. 주의: 리베이스 후 푸시는 피해야 합니다.

    • 이미 푸시한 커밋을 리베이스하면 문제가 발생할 수 있습니다. 다른 개발자들이 이미 해당 커밋을 가져간 상황에서 리베이스하면 원격 저장소에 강제 푸시해야 하며, 이는 팀원들에게 혼란을 초래할 수 있습니다.
  2. git rebase -i를 사용하여 상호작용적인 리베이스:

    • -i 옵션을 사용하면 인터랙티브한 모드로 리베이스를 수행할 수 있습니다. 이를 통해 커밋을 선택하고 순서를 변경하거나 커밋 메시지를 편집할 수 있습니다.
  3. 브랜치명 변경:

    • 리베이스 과정에서 브랜치명을 변경하려면 -m 옵션을 사용할 수 있습니다. 이는 리베이스한 브랜치에 새로운 브랜치명을 부여하는 데 도움이 됩니다.
git rebase -m my-feature-branch
  1. 리베이스 취소:
    • 리베이스를 진행하다가 중단하고 이전 상태로 되돌리려면 git rebase --abort를 사용합니다.
git rebase --abort
  • pick: 해당 커밋을 그대로 사용합니다.
  • reword: 해당 커밋의 커밋 메시지를 변경할 수 있습니다. 커밋 메시지 변경 시 커밋의 해시값도 변경됩니다.
  • fixup: 해당 커밋을 이전 커밋에 병합합니다. 커밋 메시지는 제거되며, 기존 커밋은 로컬 저장소에서만 삭제됩니다.
  • drop: 해당 커밋을 삭제합니다. 메시지와 코드가 모두 삭제됩니다.

이러한 명령어를 사용하여 히스토리를 수정하면 깔끔하고 의미 있는 커밋 히스토리를 유지할 수 있습니다. 또한, git commit --amend를 사용하면 가장 최근의 커밋을 수정할 수 있어서, 최근 커밋의 내용이나 메시지를 간편하게 조정할 수 있습니다.

git rebase는 히스토리를 깔끔하게 유지하고 의미 있는 커밋을 유지하는 데 효과적인 도구입니다. 그러나 주의해서 사용해야 하며, 이미 공유한 커밋에 대해서는 조심스럽게 사용해야 합니다.

profile
터널을 지나고 있을 뿐, 길은 여전히 열려 있다.
post-custom-banner

0개의 댓글