컨덕터 주요 컨셉 1 : 격리된 작업 공간(Isolated workspaces)

 

격리된 작업 공간

프로젝트, 저장소, 작업 공간, 브랜치, 작업 트리 및 실행 환경을 이해합니다.

격리된 작업 공간은 특정 작업 흐름을 위해 Git으로 백업되는 프로젝트의 별도 복사본입니다.

Conductor는 에이전트가 메인 체크아웃이나 다른 워크스페이스에서 작업하는 에이전트와 충돌하지 않고 코드를 변경하고, 명령을 실행하고, 컨텍스트를 구축할 수 있도록 워크스페이스를 사용합니다.

핵심 모델

이러한 용어들은 Conductor 프로젝트에서부터 하나의 작업 공간 내의 파일과 프로세스에 이르기까지 서로 연관되어 있습니다.

용어컨덕터에서 이것이 의미하는 바는 무엇일까요?관계
프로젝트코드베이스에 대한 Conductor 항목입니다. 여기에는 해당 코드베이스의 저장소 설정, 스크립트, 지침 및 작업 공간 목록이 포함됩니다.프로젝트 1개에는 저장소 1개가 포함되어 있습니다.
저장소프로젝트의 Git 코드베이스입니다. 기존 로컬 폴더, GitHub 프로젝트 또는 빠른 시작에서 가져올 수 있습니다.하나의 저장소에는 여러 작업 공간이 포함되어 있습니다.
작업 공간특정 작업, 문제, 실험 또는 풀 리퀘스트에 대한 프로젝트 및 저장소의 격리된 복사본입니다.워크스페이스 1개는 브랜치 1개에 해당합니다.
나뭇가지워크스페이스 내부에 체크아웃된 Git 브랜치입니다. 일반적으로 리뷰 및 PR 단위로 사용됩니다.1개의 브랜치에는 1개의 작업 트리가 있습니다.
작업 트리하나의 워크스페이스에 대한 디스크의 파일들입니다. Conductor는 Git 작업 트리를 사용하여 이러한 개별 체크아웃을 생성합니다 .하나의 작업 트리는 하나의 워크스페이스에 속합니다.
실행 환경워크스페이스 내에서 실행되는 앱, 서버, 감시 프로그램, 테스트 및 터미널 명령.하나의 작업 공간에서 여러 프로세스를 실행할 수 있습니다.

워크스페이스를 식별하는 가장 쉬운 방법은 종종 브랜치를 확인하는 것입니다. 예를 들어, 이 워크스페이스는 다음 scroll-to-bottom-btn브랜치에 있습니다.

Conductor 사이드바에 warsaw-v2 디렉터리의 스크롤 맨 아래 버튼을 통해 접근할 수 있는 작업 공간이 표시됩니다.

와 같은 보조 이름 warsaw-v2은 작업 공간 디렉터리 이름입니다.

고립이 당신에게 주는 것

각 워크스페이스는 상담원에게 업무를 수행할 수 있는 별도의 공간을 제공합니다.

  • 코드 변경 사항은 해당 워크스페이스의 브랜치에 유지됩니다.
  • 파일 편집은 해당 작업 공간의 작업 트리에서 이루어집니다.
  • 설정 및 실행 스크립트는 해당 작업 공간 디렉터리에서 실행됩니다.
  • 앱 프로세스는 다음과 같은 작업 공간별 환경 변수를 사용할 수 있습니다 CONDUCTOR_PORT.
  • .context메모와 인수인계 내용은 커밋하지 않고도 작업 공간 폴더에 저장할 수 있습니다 .

이것이 바로 Conductor가 병렬 에이전트 작업에 적합한 이유입니다. 독립적인 작업을 각각의 작업 공간에 배치하고, 각 작업을 실행하고, 각 분기를 검토하고, 작업이 완료되면 병합할 수 있습니다.

정보 :

워크스페이스 격리는 개발 환경 격리일 뿐 보안 경계가 아닙니다. 에이전트와 명령은 사용자 권한에 따라 Mac에서 계속 실행됩니다.

지점 및 검토

Conductor는 일반적인 GitHub 및 브랜치 작업을 앱 UI에 통합하지만, 브랜치는 여전히 워크스페이스가 무엇이고 리뷰 및 PR 흐름에 어떻게 적용되는지를 설명하는 핵심 단위입니다.

새 워크스페이스를 생성하면 Conductor는 해당 워크스페이스에 대한 새 브랜치를 생성합니다. 첫 번째 채팅을 시작하면 Conductor는 상담원에게 이 브랜치의 이름을 사용자가 작업 중인 내용과 일치하도록 변경하도록 지시합니다.

Conductor는 저장소에 구성된 기본 브랜치(예: origin/main)를 기반으로 새 브랜치를 생성하고, 해당 브랜치에서 origin먼저 커밋을 가져옵니다. 따라서 새 워크스페이스는 로컬 체크아웃이 최신이 아니더라도 항상 최신 원격 커밋부터 시작합니다. 루트 체크아웃의 브랜치도 최신 상태로 유지하려면 설정 스크립트 참조를 확인하세요 .

분기 전환

작업 내용이 변경되면 다른 브랜치로 체크아웃할 수 있습니다.

git checkout some-other-feature

또는 현재 브랜치의 이름을 변경합니다.

git branch -m new-name

...또는 새 브랜치를 생성하세요:

git checkout -b new-branch

기존 분기에서 시작

기존 브랜치가 있고 이를 기반으로 새 워크스페이스를 시작하려면 다음 단계를 따르세요.

  1. 사용Command Shift N또는 ..."새 작업 공간" 버튼 옆에 있는 아이콘을 클릭하세요.
  2. "지점" 탭을 선택하고 지점을 선택하세요.

새로운 워크스페이스를 만든 다음 위의 "브랜치 전환" 섹션에 있는 지침을 사용하여 원하는 브랜치로 전환할 수도 있습니다.

지점당 하나의 작업 공간

하나의 브랜치는 한 번에 하나의 워크스페이스에서만 체크아웃할 수 있습니다.

scroll-to-bottom-btn만약 의 브랜치를 체크아웃하고 싶은데 tokyo, 이미 에 해당 브랜치가 체크아웃된 상태라면 warsaw다음 방법 중 하나를 시도해 보세요.

  • 에서 tokyo실행하여 를 git checkout -b scroll-to-bottom-btn-2 scroll-to-bottom-btn기반으로 새 브랜치를 생성합니다.scroll-to-bottom-btn
  • 에서 warsaw다른 분기(예: git checkout -b dummy)로 전환한 다음 에서 tokyo실행하세요.git checkout scroll-to-bottom-btn

이 블로그의 인기 게시물

여러 코딩 에이전트를 병렬로 운영할 때 필요한 작업공간 관리 - 오케스트레이션