콘텐츠로 이동

작업 트리

Orca이 모든 기능이나 버그를 자체 Git 작업 트리로 바꾸는 방법입니다.

Orca은 작업 트리 기반입니다. 한 번의 체크아웃으로 분기하고 보관하는 대신 모든 작업은 git worktree를 통해 저장소의 자체 디스크 복사본을 가져옵니다. 이것이 병렬 에이전트를 안전하게 만드는 이유입니다. 즉, 서로의 파일을 밟지 않습니다.

  • 각 저장소에는 base ref(기본 참조)(일반적으로 origin/main)가 있습니다.
  • 각 작업 트리에는 분기되는 start-from ref(시작 참조)가 있습니다.
  • 각 작업 트리에는 자체 분기, 디스크의 자체 파일 및 자체 에이전트 터미널이 있습니다.
  • 작업 트리를 삭제하면 디렉터리와 분기가 모두 제거됩니다(확인 포함).
  1. Create(생성) — 작업 이름, 시작 선택기, 선택적 Linear/GitHub 문제 링크.
  2. Work(작업) — 에이전트 터미널, 편집기 탭, 브라우저 탭, 터미널 창은 모두 이 작업 트리로 범위가 지정됩니다.
  3. Review(검토) — 시작 참조에 대한 diff 보기, AI Diff에 주석 달기, 속성.
  4. Ship(배송) — 커밋, 푸시, PR 열기, 확인 대기 — 모든 것이 인라인입니다.
  5. Archive or delete(보관 또는 삭제) — 한 번의 클릭으로 작업 트리와 분기가 제거됩니다.

생성은 백그라운드에서 실행됩니다.

섹션 제목: “생성은 백그라운드에서 실행됩니다.”

작업 트리 만들기 대화 상자를 제출하면 즉시 닫힙니다. Orca을 계속 사용하는 동안 git fetchgit worktree add 작업은 백그라운드에서 계속됩니다. 새 작업 트리가 진행률 행과 함께 사이드바에 나타나고 작업 트리 탭에는 체크아웃이 완료되어 터미널로 전환될 때까지 실시간 설정 상태가 표시됩니다. 생성이 진행되는 동안 다른 작업 트리로 전환하거나, 진행 상황을 확인하거나, 탭 내 패널에서 취소할 수 있습니다. 생성에 실패하면 패널에서 재시도를 통해 오류를 표시합니다.

작업 트리를 생성할 때 분기할 대상을 선택합니다. 이는 다음과 같습니다.

  • 저장소의 기본 참조(빠른 경로).
  • 또 다른 로컬 브랜치 - 검토 중인 PR 위에 작업을 쌓는 데 유용합니다.
  • 특정 커밋 SHA.
  • 기존 원격 지점 — Orca이 이를 가져와서 확인합니다.

기본적으로 Orca은 사용자가 입력한 작업공간 이름이나 연결된 GitHub PR, Linear/Jira 문제 또는 작업공간이 생성될 때 GitLab MR에서 새 작업 트리의 분기 이름을 파생합니다. 대신 명시적인 분기 이름을 설정하려면 Create Worktree(작업 트리 만들기) 대화 상자에서 Advanced(고급) 서랍을 확장하고 Branch name(브랜치 이름) 필드(자리 표시자 feature/my-branch)에 입력하세요.

분기 이름 필드는 입력된 작업 영역 이름이나 기본 분기에서 생성하는 경우에만 제공됩니다. 작업공간이 추적된 작업 항목에 연결되면 분기는 해당 항목에서 파생됩니다. 링크된 GitHub PR은 제출 시 분기를 다시 해결하기도 합니다. 따라서 Orca는 자동으로 무시되는 재정의를 피하기 위해 필드를 숨깁니다.

사이드바는 기본적으로 project(프로젝트)별로 작업 트리를 그룹화합니다. 최상위 행은 프로젝트(프로젝트 1개 = git repo 1개 또는 관련 클러스터)이며 현재 작업 중인 작업 트리로 확장됩니다. 헤더에는 자체 필터 입력(전역 검색과 별개)이 있으므로 사이드바를 떠나지 않고도 목록 범위를 좁힐 수 있습니다.

여러 Git 저장소가 포함된 상위 폴더를 추가하면 Orca은 선택한 저장소를 별도로 가져오거나 하나의 프로젝트 그룹으로 그룹화할 수 있습니다.

사이드바 상단에 있는 Search(검색) 버튼을 누르면 Worktree Jump Palette (Cmd-J)가 열립니다. 탐색을 위해 키보드에 기대지 않는 사용자를 위한 동일한 표면, 클릭 기반입니다. 상태 표시줄에는 에이전트 활동이 인라인으로 표시됩니다. 읽지 않은 작업 트리는 배지가 붙지 않고 굵은 글씨로 표시됩니다.

작업 트리를 프로젝트 상단에 고정하여 장기 실행 작업을 계속 볼 수 있으며, 작업 트리를 마우스 오른쪽 버튼으로 클릭하면 보관/휴면/삭제 작업이 표시됩니다. 다중 선택에 작업 트리를 추가하려면 Cmd(Linux/Windows의 Ctrl)을 누른 채 클릭하고, 연속 범위를 선택하려면 Shift를 길게 누릅니다. 선택한 작업 트리를 마우스 오른쪽 버튼으로 클릭하면 선택 항목의 모든 작업 트리에 작업이 적용됩니다. Repo 행 자체는 드래그로 재정렬할 수 있습니다.

인라인 이름을 바꾸려면 사이드바에서 작업 트리 제목을 두 번 클릭합니다. 카드의 다른 곳을 두 번 클릭해도 전체 편집 대화 상자가 열립니다.

다중 저장소 프로젝트 그룹 및 폴더 작업공간

섹션 제목: “다중 저장소 프로젝트 그룹 및 폴더 작업공간”

여러 Git 저장소가 포함된 상위 폴더를 가져오면 Orca은 해당 저장소를 사이드바의 단일 project group(프로젝트 그룹) 아래에 그룹화할 수 있습니다. 각 프로젝트 그룹은 상위 폴더 수준에 있는 작업 트리와 유사한 항목인 folder workspace(폴더 작업 공간) 흐름을 노출하고 해당 작업 소스를 아래 저장소 중 하나에 바인딩하므로 작업 공간 자체가 사이드바에서 형제 항목과 그룹화되어 있어도 한 기능의 GitHub/GitLab/Linear/Jira 작업 표면이 올바른 저장소에 연결된 상태로 유지됩니다.

작업 공간을 만들려면 사이드바에서 프로젝트 그룹의 헤더 행에 마우스를 놓고 + 작업을 클릭하세요(도구 설명: “그룹에 대한 작업 공간 만들기”). 작성기 대화 상자(“폴더 작업 공간 만들기”)에서는 작업 공간의 작업 소스에 대한 소스 프로젝트를 선택하고, 작업 공간 이름을 지정하고, 선택적으로 링크된 이슈 또는 PR을 첨부하도록 요청합니다. 제출하면 폴더 작업공간이 일반 저장소 범위 작업 트리와 함께 프로젝트 그룹 아래에 나타납니다.

프로젝트 그룹을 삭제할 때 Orca은 동일한 작업으로 그룹에 포함된 프로젝트(기본 저장소 등록)를 제거할 수 있는 확인란도 제공합니다. 따라서 더 이상 사용되지 않는 클러스터를 정리하면 여러 번 확인하는 것이 아니라 한 번 확인하는 것입니다.

모든 Orca 작업 트리는 실제 Git 작업 트리입니다. 터미널을 열고 git status, git rebase, git cherry-pick 등을 사용할 수 있습니다. Orca는 다음 렌더링 변경 사항을 선택합니다.

git worktree add을 사용하여 직접 만든 작업 트리는 가져올 때까지 외부에 유지됩니다. 저장소가 외부 작업 트리를 숨기는 경우 Orca는 새로 감지된 작업 트리를 New externally-created worktrees(새 외부 생성 작업 트리) 받은 편지함에 표시하므로 이를 가져오거나 숨긴 상태로 둘 수 있습니다.

CLI에서 git worktree remove을 실행하면 Orca는 다음에 해당 저장소를 새로 고칠 때 자체 상태를 확인하고 정리합니다.