Git Ops
개요
Git 변경 분석을 바탕으로 한글 커밋 메시지를 작성·로컬 커밋을 수행하고, 기본 브랜치 기준으로 PR 제목/본문을 생성해 gh로 PR을 만든다.
빠른 판단
- •커밋 요청이면
references/commit.md절차를 따른다. - •PR 요청이면
references/make-pr.md절차를 따르고,gh pr create로 생성한다.
커밋 워크플로우
- •저장소 상태 확인
- •
git status -sb로 작업 브랜치/변경 유무를 확인한다. - •변경이 없으면 사용자에게 알리고 중단한다.
- •변경 분석
- •
git diff --stat과git diff로(= 미스테이징) 변경을 요약한다. - •
git diff --cached로(= 스테이징) 변경을 따로 확인한다.
- •커밋 메시지 작성
- •
references/commit.md의 원칙을 그대로 적용한다. - •제목/본문은 반드시 한글로 작성한다.
- •로컬 커밋 자동 실행
- •
references/commit.md의 규칙대로 질문 없이 즉시 커밋한다. - •기본값: 전체 변경을 스테이징(
git add -A)한 뒤 한 번에 커밋한다(사용자가 “staged만 커밋”을 명시한 경우만 예외). - •push는 수행하지 않는다.
PR 생성 워크플로우
- •기본 브랜치 확인
- •
git symbolic-ref refs/remotes/origin/HEAD또는git remote show origin으로 기본 브랜치를 확인한다.
- •변경/커밋 분석
- •
git log --oneline --decorate origin/<base>..HEAD로 PR 범위 커밋을 확인한다. - •
git diff --stat origin/<base>...HEAD로 변경 요약을 확인한다. - •PR 대상 커밋이 없으면 사용자에게 알리고 중단한다.
- •PR 제목/본문 생성
- •
references/make-pr.md템플릿을 따른다. - •제목/본문은 한글로 작성한다.
- •대상 브랜치 처리
- •사용자가 PR 대상 브랜치를 명시한 경우 해당 브랜치를 우선한다.
- •
git show-ref --verify refs/remotes/origin/<base>로 브랜치 존재 여부를 확인한다. - •브랜치가 없거나 오타/의도 불명으로 보이면 확인 질문 후 진행한다.
- •필요 시 push
- •로컬 커밋이 원격에 없으면 먼저
git push로 업로드한다.
- •PR 생성
- •기본 브랜치 대상이면
gh pr create --title "..." --body "..."를 실행한다. - •사용자가 대상 브랜치를 명시했으면
--base <base>를 사용한다. - •
gh가 없거나 인증이 안 된 경우 사용자에게 알려 설치/로그인을 요청한다.
참고 자료
- •커밋 규칙:
references/commit.md - •PR 규칙:
references/make-pr.md