Git 실전 작업 흐름 모음
1. Worktree A가 작업 중인데 급히 B를 시작
현재:
Main WT → stable (clean)
WT A → feature/a (uncommitted WIP)
A를 건드리지 않는다.
git fetch origin
git worktree add ../worktrees/b -b feature/b origin/stable
결과:
Main WT → stable
WT A → feature/a WIP 그대로
WT B → feature/b 최신 origin/stable 기반
2. 현재 Feature가 stable보다 73 Commit 뒤처짐
먼저 Remote 상태를 갱신한다.
git fetch origin
git log --oneline HEAD..origin/stable
개인 Feature Branch이고 History를 정리하고 싶다면:
git rebase origin/stable
공유 Branch라면 Merge가 더 안전한 경우가 많다.
git merge origin/stable
73이라는 숫자는 충돌 개수가 아니다. 변경 영역이 겹치는지가 중요하다.
3. Local Commit이 있는데 Push하지 않음
다른 협업자는 일반적으로 볼 수 없다.
Local
A ─ B ─ C
Remote
A ─ B
Push해야 공유된다.
4. Branch를 만들었는데 Push하지 않음
Remote에는 Branch가 없다.
첫 Push:
git push -u origin feature/a
5. 다른 개발자의 Remote Branch를 잠깐 보기
git fetch origin
git switch --detach origin/feature/a
수정까지 이어갈 거라면 Local Branch를 만든다.
6. Merge / Rebase / Cherry-pick을 실행하기 전
항상 세 가지를 적어 본다.
Current Branch:
Target:
Expected Result:
예:
Current: feature/camera
Target: origin/stable
Operation: Rebase
Expected: 내 Feature Commit을 최신 stable 위에 다시 생성
이 습관만으로 방향 실수를 크게 줄일 수 있다.
7. PR 전 기본 체크
git status
git fetch origin
branch / upstream 확인
commit 목록 확인
diff 확인
local build/test
push
PR
8. PR Review 후
같은 Feature Branch에서 수정 Commit을 Push하면 기존 PR에 자동 반영된다.
새 PR을 만들 필요가 없다.
9. Merge 후 정리
PR Merge 확인
↓
Worktree clean 확인
↓
git worktree remove ...
↓
git branch -d ...
↓
git worktree prune
10. Claude Code에게 자연어로 지시
새 Feature
최신 origin/stable에서 feature/camera Branch와 별도 Worktree를 만들어. 현재 Session의 Branch와 Worktree는 변경하지 마.
Rebase
현재 Feature Branch를 origin/stable 위로 rebase하기 전에 주체와 base, 변경될 Commit을 보여줘. Conflict가 있으면 자동 해결하지 말고 중단해.
Cherry-pick
이 Commit만 가져오기 전에 git show로 변경과 선행 의존성을 확인해.
PR
현재 Branch의 diff와 commit을 검토하고 stable 대상으로 PR 설명을 작성해. Build/Test에서 검증하지 않은 항목은 NOT VERIFIED로 표시해.
실전에서 기억할 핵심
Repository
= Git 기록
Branch
= Commit을 가리키는 개발 흐름
HEAD
= 현재 Worktree의 위치
Worktree
= 실제 파일 작업 공간
Commit
= Local History 기록
Push
= Remote 공유
Fetch
= Remote 상태를 Local에 가져옴
PR
= 공식 Review / Integration 공간
Git은 명령어를 많이 외우는 도구가 아니라 현재 어느 층을 바꾸고 있는지 이해하는 도구다.