Stacked diff
GitLab v19.2Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab CLI에서 스택 diff를 사용하여 최종적으로 기능을 제공하기 위해 서로 기반을 쌓는 작은 변경 사항을 만들 수 있습니다. 이전 변경 사항이 검토되는 동안 새 기능을 계속 빌드합니다. 다른 작업에 영향을 주지 않고 특정 diff에 대한 검토 피드백에 응답합니다.
히스토리
- GitLab CLI의 v1.42.0에서 실험으로 출시됨.
GitLab CLI에서 스택 diff를 사용하여 최종적으로 기능을 제공하기 위해 서로 기반을 쌓는 작은 변경 사항을 만들 수 있습니다. 각 스택은 독립적이므로 다음을 수행할 수 있습니다:
-
이전 변경 사항이 검토되는 동안 새 기능을 계속 빌드합니다.
-
다른 작업에 영향을 주지 않고 특정 diff에 대한 검토 피드백에 응답합니다.
-
승인된 diff를 독립적으로 머지합니다.
스택 diff 워크플로는 다음과 같습니다:
-
변경 사항 만들기:
glab stack save를 실행하면 GitLab CLI가:모든 변경 사항을 스테이징합니다.
-
메시지로 새 커밋을 만듭니다.
-
이 커밋에 대한 새 브랜치를 만듭니다.
-
자동으로 새 브랜치로 이동합니다.
-
-
GitLab과 동기화:
glab stack sync를 실행하면 GitLab CLI가:스택의 모든 브랜치를 GitLab으로 푸시합니다.
-
아직 없는 각 diff에 대해 머지 리퀘스트를 만듭니다.
-
머지 리퀘스트들을 서로 연결합니다. 첫 번째 머지 리퀘스트를 제외한 각 머지 리퀘스트는 이전 diff 브랜치를 타깃으로 합니다.
-
CLI에서 이 기능의 기본 명령어는
stack이며,
다른 명령어로 확장합니다.
자세한 내용은 CLI의 Stacked Diffs 개요를 참고하세요.
이 기능은 실험 기능입니다. 이슈 7473에서 피드백을 공유해 주세요.
스택 diff 만들기#
대규모 기능을 더 작고 검토 가능한 변경 사항으로 나누고 싶을 때 스택 diff를 만드세요.
사전 요구 사항:
- GitLab CLI가 설치되고 인증되어 있어야 합니다.
스택 diff를 만들려면:
- 터미널에서 새 스택을 만들고 이름을 지정합니다. 예를 들어:
glab stack create add-authentication
-
에디터에서 첫 번째 변경 사항을 만듭니다.
-
변경 사항을 첫 번째 diff로 저장합니다:
glab stack save
메시지가 표시되면 이 변경 사항을 설명하는 커밋 메시지를 입력합니다.
- 다음 변경 사항을 만들고 두 번째 diff로 저장합니다:
glab stack save
glab stack save를 실행할 때마다 새 diff와 브랜치가 만들어집니다.
메시지가 표시되면 이 변경 사항을 설명하는 커밋 메시지를 입력합니다.
- GitLab으로 변경 사항을 푸시하고 머지 리퀘스트를 만들 준비가 되면 다음을 실행합니다:
glab stack sync
머지 리퀘스트를 검토할 수 있습니다. 이 스택에서 더 많은 diff를 계속 만들거나 다른 작업으로 전환할 수 있습니다.
스택의 diff에 변경 사항 추가하기#
스택의 특정 지점으로 돌아가 더 많은 변경 사항을 추가하려면:
- 스택 목록을 표시합니다:
glab stack move
-
편집하려는 스택을 선택하고 Enter를 누릅니다.
-
변경 사항을 만듭니다.
-
준비가 되면 변경 사항을 저장하고 다음을 실행합니다:
glab stack amend
-
선택 사항. 스택 설명을 변경합니다.
-
변경 사항을 푸시합니다:
glab stack sync
기존 스택을 동기화하면 GitLab이:
-
새 변경 사항으로 기존 스택을 업데이트합니다.
-
최신 변경 사항을 가져오기 위해 스택의 다른 머지 리퀘스트들을 리베이스합니다.
사용 가능한 명령어 {#available-commands}#
스택 diff 작업에 사용할 수 있는 명령어:
| Command | Description |
|---|---|
| create | Create a new stack. |
| save | Save your changes as a new diff. |
| amend | Modify the current diff. |
| prev | Move to the previous diff. |
| next | Move to the next diff. |
| first | Move to the first diff. |
| last | Move to the last diff. |
| move | Select any diff from a list. |
| sync | Push branches and create/update merge requests. |
save와 amend 선택하기#
다음 명령어를 다른 목적에 사용하세요:
-
glab stack save: 새 diff(커밋 및 브랜치)를 만듭니다. 스택에 새로운 논리적 변경 사항을 추가할 때 사용합니다. -
glab stack amend: 현재 diff를 수정합니다. 검토 피드백에 응답하거나 현재 변경 사항을 수정할 때 사용합니다.