Skip to main content
Skip to content

누적 풀 리퀘스트에 대한 빠른 시작

GitHub CLI에 gh stack 확장을 설치하고 첫 번째 스택형 pull request 세트를 만듭니다.

누적 끌어오기 요청을 사용하여 큰 코드 변경 내용을 독립적으로 검토하고 병합할 수 있는 더 작은 종속 끌어오기 요청 체인으로 분할합니다.

스택은 동일한 리포지토리에 있는 일련의 끌어오기 요청으로, 각 끌어오기 요청이 아래 끌어오기 요청의 분기를 대상으로 하여 단일 분기(일반적으로 주 분기)에 배치되는 순서가 지정된 체인을 형성합니다. 하나의 큰 끌어오기 요청 대신 더 작은 끌어오기 요청 집합을 가져옵니다. 각 끌어오기 요청에는 고유한 포커스가 있는 diff가 있으므로 팀원은 각 계층을 독립적으로 검토하고 승인할 수 있습니다.

사전 요구 사항

  • GitHub CLI (gh) 2.90.0 이상 및 Git 2.20 이상
    • gh auth login를 사용하여 GitHub CLI을(를) 인증합니다.
  • GitHub 푸시할 수 있는 리포지토리입니다.

CLI 확장 설치

Shell
gh extension install github/gh-stack

팁

AI 코딩 에이전트(예: GitHub Copilot)와 함께 stacked pull requests를 사용하려면 gh-stack 스킬을 설치하세요.

Shell
gh skill install github/gh-stack

첫 번째 스택 만들기

  1. 스택을 초기화하려면 리포지토리로 이동하고 다음 명령을 실행합니다. 그러면 추적 항목과 첫 번째 브랜치가 만들어집니다.

    Shell
    gh stack init
    

    첫 번째 브랜치의 이름을 지정하라는 메시지가 표시됩니다. 기본적으로 스택은 리포지토리의 기본 분기를 트렁크(예: main)로 사용하지만, 스택은 모든 분기를 대상으로 할 수 있습니다.

  2. 평소처럼 첫 번째 브랜치에서 작업합니다: 코드를 작성하고, 변경 사항을 스테이징하고, 커밋합니다.

    # ... write code ...
    git add .
    git commit -m "helpful-commit-message"
    
  3. 다음 논리 작업 단위에 대한 준비가 되면 스택의 맨 위에 새 분기를 추가합니다.

    Shell
    gh stack add BRANCH-NAME
    # ... write code ...
    git add .
    git commit -m "Another-helpful-commit-message"
    
  4. 모든 브랜치를 원격으로 푸시합니다.

    Shell
    gh stack push
    
  5. 풀 리퀘스트를 만들고 GitHub에서 스택으로 연결합니다.

    Shell
    gh stack submit
    

    각 풀 리퀘스트는 올바른 기본 브랜치로 생성됩니다. 첫 번째 분기는 main를 대상으로 합니다. 그리고 다음 분기 BRANCH-NAME는 첫 번째 분기를 대상으로 합니다. 검토자는 해당 계층에 대한 차이만 볼 수 있습니다. 풀 리퀘스트는 GitHub에서 스택으로 함께 자동 연결되며 순서를 확인하고 빠르게 탐색할 수 있습니다.

  6. 스택을 보고 언제든지 전체 상태를 확인합니다.

    Shell
    gh stack view
    

    이 명령은 모든 브랜치, 풀 리퀘스트 링크, 상태 및 각각에 대한 가장 최근 커밋을 표시합니다.

  7. gh stack add -Am "MESSAGE"를 사용해 모든 변경 내용을 스테이징하고, 커밋하고, 한 단계에서 다음 브랜치를 만듭니다. 별도의 git add 또는 git commit이 필요하지 않습니다. 현재 분기에 아직 커밋이 없으면 해당 분기에 커밋됩니다. 커밋이 이미 있으면 새 분기가 만들어집니다.

    # Commit lands on the current branch
    gh stack add -Am "Auth middleware"
    
    # Current branch already has commits, so this creates the next branch
    gh stack add -Am "API routes"
    
  8. 준비가 되면 모든 항목을 푸시하고 풀 리퀘스트를 만듭니다.

    Shell
    gh stack submit
    

다음 단계