Skip to content

main 최신화와 병합된 로컬 브랜치 정리를 커맨드로 만든다 - #35

Merged
Jang990 merged 3 commits into
mainfrom
chore/#34
Sep 9, 2026
Merged

main 최신화와 병합된 로컬 브랜치 정리를 커맨드로 만든다#35
Jang990 merged 3 commits into
mainfrom
chore/#34

Conversation

@Jang990

@Jang990 Jang990 commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Closes #34

무엇을 바꿨나

.claude/commands/sync.md 를 추가했다. /syncmain 과 현재 브랜치를 origin/main ·
각자의 upstream 까지 fast-forward 하고, 병합이 끝난 로컬 브랜치를 지운다.

  • 최신화 대상은 main 과 현재 브랜치뿐이다. 다른 워크트리가 물고 있는 브랜치는 당기지 않는다.
    남의 작업 공간에서 파일이 발밑에서 바뀌는 것을 막는다.
  • main 이 다른 워크트리에 체크아웃돼 있으면 git fetch origin main:main 이 거부당한다.
    그래서 main 이 어디 있는지 먼저 보고, 다른 워크트리에 있으면 거기서 fast-forward 한다.
  • 커밋 안 한 변경이 있거나 fast-forward 가 아니면 건너뛰고 이유를 보고한다.
  • 삭제 판정은 git branch -d 가 아니라 git merge-base --is-ancestor <브랜치> origin/main
    한다. -d 는 현재 HEAD 와 upstream 만 보기 때문에, origin/main 에 들어갔지만 지금 HEAD
    히스토리엔 없는 브랜치를 거부한다. ancestor 확인을 통과한 브랜치에만 -D 를 쓴다.
  • main, 현재 브랜치, 워크트리가 물고 있는 브랜치, worktree- 로 시작하는 브랜치는 지우지 않는다.

묻지 않고 바로 지우고, 지운 브랜치의 sha 를 함께 출력한다. 지우는 브랜치는 전부
origin/main 의 조상이라 커밋이 사라지지 않고, git branch <이름> <sha> 한 줄로 되살아난다.

확인

프로덕션 코드가 바뀌지 않아 테스트를 추가하지 않았다. npm test 영향 없음.

2번 단계의 main 최신화는 이 브랜치를 만들기 전에 실제로 돌려 확인했다.
main 이 메인 워크트리에 체크아웃된 상태에서 31ebac6 → 4abfe37 로 fast-forward 됐다.

미확인

/sync 전체를 한 번에 돌린 결과. 3~4번(대상 선정과 삭제)은 실행하지 않았다.
이 브랜치를 체크아웃한 세션에서 /sync 를 돌려, 삭제 대상에서 main · 현재 브랜치 ·
워크트리 점유 브랜치 · worktree-* 가 빠지는지 확인해야 한다.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WU6a447YMHF72RTcCDW2nr

Jang990 and others added 3 commits September 9, 2026 20:06
워크트리가 물고 있는 브랜치는 남의 작업 공간이라 당기지 않는다.
worktree- 로 시작하는 브랜치도 삭제 후보에서 뺀다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WU6a447YMHF72RTcCDW2nr
지우는 브랜치는 전부 origin/main 의 조상이라 커밋이 사라지지 않는다.
되살리기가 git branch <이름> <sha> 한 줄이라 승인을 물을 이유가 없다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WU6a447YMHF72RTcCDW2nr
@Jang990
Jang990 merged commit bbfc406 into main Sep 9, 2026
2 checks passed
@Jang990
Jang990 deleted the chore/#34 branch September 9, 2026 11:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore 빌드·CI·설정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

main 최신화와 병합된 로컬 브랜치 정리를 커맨드로 만든다

1 participant