Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Workbook 병합 미리보기와 충돌 해결

Source branch는 변경을 가져올 원천이고 target branch는 변경을 받는 대상입니다. Code Workbook은 원천 브랜치를 바로 위의 부모 브랜치로만 병합할 수 있습니다.

작업 브랜치에서 변경

가상 Titanic 파이프라인에서 일부 필터를 바꾸는 상황을 가정합니다.

브랜치 메뉴에서 feature/filter-logic을 만듭니다. 작업 이름에는 feature/, bugfix/나 사용자 식별 접두사를 사용할 수 있습니다.

새 브랜치는 생성 시점의 로직과 데이터 상태에서 시작합니다. 이 브랜치에서 필터를 바꾸고 실행해도 master의 로직과 출력 결과를 직접 바꾸지 않습니다.

Preview merge

오른쪽 위 Preview merge로 원천 변경과 현재 부모 브랜치를 합친 미리보기 상태에 들어갑니다.

Contents의 Modified, Conflict 표시로 변경과 충돌을 찾습니다. 코드 비교는 보통 왼쪽 target, 오른쪽 source로 표시합니다.

이 상태에서도 로직을 고치고 변환을 실행할 수 있습니다. Run Affected는 변경한 변환과 그 아래의 모든 영향받는 노드를 실행합니다.

병합 중 실행한 결과는 원천 및 대상과 분리된 데이터셋 merge branch에 저장됩니다. 이름은 vector-merge-{source}-{target}-{uuid} 형식입니다.

Sidebar는 병합으로 달라지는 행 수와 열을 보여 줍니다.

변경 노드의 Show Changes에서 코드의 차이를 나란히 확인합니다.

템플릿의 설정 변경도 같은 방식으로 비교합니다.

충돌 해결

양쪽에서 같은 변환을 수정했다면 병합 전에 충돌을 해결해야 합니다.

코드는 인라인 충돌 표시에서 사용할 내용을 선택합니다.

템플릿이 충돌하거나 한쪽에서 변환을 삭제했다면 나란히 보는 화면에서 결과를 결정합니다.

모든 충돌이 해결되고 필요한 브랜치 검사가 통과하면 Merge branch가 활성화됩니다. 수정 후 변환을 실행하여 병합한 로직의 결과를 확인할 수 있습니다.

병합 상태 나가기와 갱신

왼쪽 위의 뒤로 가기는 target 브랜치로 돌아갑니다. Exit merge는 병합을 시작하기 전 source 브랜치로 돌아가며, 병합 상태 안에서만 했던 변경은 버립니다. Source 브랜치에 이미 작성했던 변경은 그대로 남습니다.

병합 검토 중 target에 새 변경이 생기면 Update merge가 나타납니다. 이를 사용하여 최신 target 로직을 가져오고 다시 검토합니다.

데이터 복사와 브랜치 제거

Merge branch 또는 Complete merge를 선택하면 두 옵션을 확인합니다.

옵션효과
Source 트랜잭션을 target으로 복사원천 브랜치에서 계산한 데이터를 대상에 반영합니다. 분기 이후 target에 새로 기록된 파생 데이터셋 트랜잭션이 병합 후 보기에서 사라질 수 있습니다.
데이터셋의 source 브랜치 삭제Workbook에서 만든 파생 데이터셋들의 원천 브랜치를 삭제할지 정합니다. Workbook 브랜치 자체의 수명과는 별개입니다.

운영 master에 최신 데이터가 더 쌓였고 코드만 옮기려는 상황이면 데이터 복사 여부를 특히 확인합니다. 복사하지 않으면 master의 로직을 갱신하고 그 로직으로 출력을 별도 빌드할 수 있습니다.

병합이 완료되면 원천 Workbook 브랜치는 자동으로 삭제됩니다. 다만 자식 브랜치가 남아 있으면 삭제하지 않는 예외가 있습니다. 데이터셋 브랜치 삭제 옵션을 끈다고 Workbook 브랜치 자체가 항상 유지되는 것은 아닙니다.