컨덕터 주요 컨셉 1 : 격리된 작업 공간(Isolated workspaces)
격리된 작업 공간
프로젝트, 저장소, 작업 공간, 브랜치, 작업 트리 및 실행 환경을 이해합니다.
격리된 작업 공간은 특정 작업 흐름을 위해 Git으로 백업되는 프로젝트의 별도 복사본입니다.
Conductor는 에이전트가 메인 체크아웃이나 다른 워크스페이스에서 작업하는 에이전트와 충돌하지 않고 코드를 변경하고, 명령을 실행하고, 컨텍스트를 구축할 수 있도록 워크스페이스를 사용합니다.
핵심 모델
이러한 용어들은 Conductor 프로젝트에서부터 하나의 작업 공간 내의 파일과 프로세스에 이르기까지 서로 연관되어 있습니다.
워크스페이스를 식별하는 가장 쉬운 방법은 종종 브랜치를 확인하는 것입니다. 예를 들어, 이 워크스페이스는 다음 scroll-to-bottom-btn브랜치에 있습니다.
와 같은 보조 이름 warsaw-v2은 작업 공간 디렉터리 이름입니다.
고립이 당신에게 주는 것
각 워크스페이스는 상담원에게 업무를 수행할 수 있는 별도의 공간을 제공합니다.
- 코드 변경 사항은 해당 워크스페이스의 브랜치에 유지됩니다.
- 파일 편집은 해당 작업 공간의 작업 트리에서 이루어집니다.
- 설정 및 실행 스크립트는 해당 작업 공간 디렉터리에서 실행됩니다.
- 앱 프로세스는 다음과 같은 작업 공간별 환경 변수를 사용할 수 있습니다
CONDUCTOR_PORT. .context메모와 인수인계 내용은 커밋하지 않고도 작업 공간 폴더에 저장할 수 있습니다 .
이것이 바로 Conductor가 병렬 에이전트 작업에 적합한 이유입니다. 독립적인 작업을 각각의 작업 공간에 배치하고, 각 작업을 실행하고, 각 분기를 검토하고, 작업이 완료되면 병합할 수 있습니다.
워크스페이스 격리는 개발 환경 격리일 뿐 보안 경계가 아닙니다. 에이전트와 명령은 사용자 권한에 따라 Mac에서 계속 실행됩니다.
지점 및 검토
Conductor는 일반적인 GitHub 및 브랜치 작업을 앱 UI에 통합하지만, 브랜치는 여전히 워크스페이스가 무엇이고 리뷰 및 PR 흐름에 어떻게 적용되는지를 설명하는 핵심 단위입니다.
새 워크스페이스를 생성하면 Conductor는 해당 워크스페이스에 대한 새 브랜치를 생성합니다. 첫 번째 채팅을 시작하면 Conductor는 상담원에게 이 브랜치의 이름을 사용자가 작업 중인 내용과 일치하도록 변경하도록 지시합니다.
Conductor는 저장소에 구성된 기본 브랜치(예: origin/main)를 기반으로 새 브랜치를 생성하고, 해당 브랜치에서 origin먼저 커밋을 가져옵니다. 따라서 새 워크스페이스는 로컬 체크아웃이 최신이 아니더라도 항상 최신 원격 커밋부터 시작합니다. 루트 체크아웃의 브랜치도 최신 상태로 유지하려면 설정 스크립트 참조를 확인하세요 .
분기 전환
작업 내용이 변경되면 다른 브랜치로 체크아웃할 수 있습니다.
또는 현재 브랜치의 이름을 변경합니다.
...또는 새 브랜치를 생성하세요:
기존 분기에서 시작
기존 브랜치가 있고 이를 기반으로 새 워크스페이스를 시작하려면 다음 단계를 따르세요.
- 사용또는
..."새 작업 공간" 버튼 옆에 있는 아이콘을 클릭하세요. - "지점" 탭을 선택하고 지점을 선택하세요.
새로운 워크스페이스를 만든 다음 위의 "브랜치 전환" 섹션에 있는 지침을 사용하여 원하는 브랜치로 전환할 수도 있습니다.
지점당 하나의 작업 공간
하나의 브랜치는 한 번에 하나의 워크스페이스에서만 체크아웃할 수 있습니다.
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
