Git 리베이스 안전하게 하기: LHS와 RHS 규칙 설명
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

안전한 리베이스의 어두운 예술: IDE와 CLI에서 "onto" 마스터하기

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

Git을 사용하는 개발자, 특히 리베이스 작업을 수행하는 초보자 및 중급자

난이도: 중간 (기초 Git 지식 필요)

핵심 요약

  • 리베이스 작업에서 LHS(좌측)는 수정되며, RHS(우측)는 안전하다 (예: Rebase feature onto mainfeature는 수정, main은 안전)
  • 안정적인 브랜치(보통 main)는 항상 RHS에 배치해야 한다
  • CLI와 IDE 모두에서 LHS/RHS 규칙이 동일하게 적용된다

섹션별 세부 요약

1. IntelliJ에서 "onto" 개념 이해

  • IntelliJ는 명확히 두 브랜치(예: featuremain)를 표시하여 리베이스 작업을 제공
  • LHS(좌측): 수정되는 브랜치 (예: feature)
  • RHS(우측): 안전한 기반 브랜치 (예: main)
  • 예시: "Rebase feature onto main" → feature 수정, main은 안전

2. CLI에서 리베이스 작업 수행

  • CLI 명령어:

```bash

git checkout feature # LHS: 현재 작업 중인 브랜치

git rebase main # RHS: 기반 브랜치

```

  • LHS: feature 브랜치의 커밋이 재생성됨
  • RHS: main 브랜치는 변경되지 않음

3. 안전한 리베이스의 핵심 원칙

  • 안정적인 브랜치(예: main)는 절대 LHS에 배치하지 않는다
  • "Rebase main onto feature"는 위험한 작업 (안정적인 main이 수정됨)
  • 기억 강화 팁: "Always have main on RHS" (메인 브랜치는 항상 RHS에 배치)

4. 실무 적용 팁

  • IDE와 CLI 모두에서 LHS/RHS 규칙 적용
  • 브랜치명 명확하게 확인 (예: feature vs main)
  • 리베이스 전에 git log로 히스토리 확인 후 작업

결론

  • 리베이스 작업 시 안정적인 브랜치(예: main)는 항상 RHS에 배치하여 안전하게 작업하자.
  • CLI와 IDE 모두에서 LHS/RHS 규칙을 일관되게 적용하면, 실수를 줄이고 깔끔한 히스토리 관리 가능.
  • "Always have main on RHS"를 핵심 원칙으로 기억하고, Git 히스토리가 항상 순수하게 유지되도록 하자.