← Back to skills
extension
Category: Development & EngineeringAPI key requirement unconfirmed

commit-push-pr

A workflow that performs commit, push, and PR creation all at once. Triggers: "커밋", "PR 만들어", "푸시해", "PR 생성", "commit and push", "커밋하고 푸시", "PR 올려" Anti-triggers: "코드 리뷰", "git log 확인", "diff 보여줘", "브랜치 목록"

personAuthor: jakexiaohubgithub

커밋, 푸시, PR 생성

현재 변경사항을 커밋하고 푸시한 후 PR을 생성합니다.

Step 1: 사전 검증

# 현재 브랜치 확인 — main/master면 직접 커밋 금지
BRANCH=$(git branch --show-current)
if [ "$BRANCH" = "main" ] || [ "$BRANCH" = "master" ]; then
  echo "BLOCKED: main/master 브랜치에서 직접 커밋 금지"
  echo "대안: feature 브랜치 생성 후 진행 → git checkout -b feature/<작업명>"
fi

# 상태 확인
git status
git diff --stat
git log --oneline -5

main/master에서 실행된 경우: 사용자에게 브랜치명을 확인한 뒤 git checkout -b feature/<작업명>으로 feature 브랜치를 생성하고 다음 단계로 진행한다.

Step 2: 스테이징 + 위험 파일 확인

# 변경 파일 선택적 staging (git add -A 지양)
git add [specific-files]

# 민감한 파일이 staged 되었는지 검사 (git add 직후에 실행해야 유효)
git diff --cached --name-only | grep -E '\.(env|pem|key|credentials)' && echo "WARNING: 민감 파일 포함! 커밋 전 unstage 필요"

Step 3: 커밋

# 커밋 메시지 작성
git commit -m "$(cat <<'EOF'
[타입] 제목 (50자 이내)

본문 (선택 — 무엇이 아닌 왜를 설명)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

타입: feat, fix, docs, style, refactor, test, chore

Step 4: 푸시

# 원격 브랜치 설정 + 푸시
git push -u origin $(git branch --show-current)

Step 5: PR 생성

gh pr create --title "[타입] 제목" --body "$(cat <<'EOF'
## 요약
- 변경 내용 1
- 변경 내용 2

## 테스트
- [ ] typecheck 통과
- [ ] lint 통과
- [ ] test 통과
EOF
)"

출력

완료 시 PR URL을 반환합니다.