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