# 다른 도구를 스택형 풀 리퀘스트와 함께 사용

Jujutsu, Sapling 또는 git-town과 같은 도구와 함께 스택형 pull request를 사용합니다.

누적 풀 리퀘스트는 표준 Git 브랜치 및 일반 풀 리퀘스트를 기반으로 하므로 로컬 워크플로에 `gh stack` CLI 이외의 도구를 사용하도록 선택할 수 있습니다. Jujutsu(jj), Sapling 또는 git-town과 같은 다른 도구를 사용하여 분기 체인을 관리하는 경우 `gh stack link` 명령을 사용하여 해당 분기를 GitHub에서 스택으로 열 수 있습니다.

이 `gh stack link` 명령은 GitHub API만 호출하여 누적 끌어오기 요청을 만듭니다. 로컬 추적을 만들지는 않습니다. 브랜치에 이미 열려 있는 끌어오기 요청이 있는 경우 `link`가 해당 요청을 사용합니다. 그렇지 않으면 올바른 기본 브랜치를 사용하여 초안 끌어오기 요청을 만듭니다.

## 브랜치를 스택으로 연결하기

1. 선택한 도구를 사용하여 로컬로 분기 체인을 만듭니다. 예를 들어 Jujutsu의 경우:

   ```shell
   jj new main -m "first change"
   jj bookmark create change1 --revision @

   jj new -m "second change"
   jj bookmark create change2 --revision @

   jj new -m "third change"
   jj bookmark create change3 --revision @
   ```

2. 브랜치를 푸시하고 아래쪽에서 위쪽으로 나열된 스택으로 연결합니다.

   ```shell
   gh stack link change1 change2 change3
   ```

   이렇게 하면 브랜치가 푸시되고, 각 브랜치마다 올바른 베이스를 사용한 풀 리퀘스트가 만들어지고, GitHub에서 스택으로 연결됩니다.

## 기존 스택에 추가

`link`으로 만든 스택에 분기를 더 추가하려면 스택의 맨 아래부터 맨 위까지 끌어오기 요청 및 분기의 **전체** 목록으로 `gh stack link`를 다시 실행합니다. 숫자로 기존 풀 리퀘스트를 참조할 수 있습니다.

```shell
gh stack link 123 124 125 change4 change5
```

## 기본 브랜치 설정 또는 풀 리퀘스트 열기

기본적으로 `link`는 리포지토리의 기본 분기를 대상으로 하며 초안 풀 리퀘스트를 만듭니다. 이 동작을 변경하려면:

* `--base`를 사용하여 다른 트렁크 브랜치를 지정합니다.
* 풀 리퀘스트를 초안 대신 검토할 준비가 되도록 표시하려면 `--open`을(를) 사용합니다.

```shell
gh stack link --base develop --open change1 change2 change3
```

## 전체 로컬 추적을 위한 브랜치 설정

전체 로컬 스택 추적을 원한다면 `gh stack rebase`, `gh stack sync`와 같은 명령 및 스택 탐색을 사용할 수 있도록, 대신 `gh stack init`로 기존 브랜치를 adopt한 다음 제출하세요.

```shell
gh stack init change1 change2 change3
gh stack submit
```

## 추가 읽기

* [스택된 풀 리퀘스트](/ko/pull-requests/reference/stacked-pull-requests)