Dream
DocumentationDownload
Git

Git 워크트리

병렬 작업을 위해 독립적인 체크아웃을 생성한 후 작업이 완료되면 병합, 배포 또는 제거한다.

Git 워크트리는 같은 저장소 내에서 작업에 별도의 워크 디렉토리를 제공합니다. Dream은 이를 다른 프로젝트로 열며, 자체 채팅과 도구를 갖춥니다. 에이전트가 서로를 변경하지 않고 독립적으로 수정해야 할 때 워크트리를 사용합니다.

워크트리 생성#

Git 저장소로 시작하여 커밋된 기준을 가진 프로젝트에서 시작합니다.

  1. 채팅 아래에 브랜치 스위치를 열어라.
  2. 새 작업 트리를 선택합니다.
  3. 새로운 분기에 이름을 입력하십시오. 예: fix-settings-persistence.
  4. 기본 참조를 시작할 커밋이나 브랜치로 설정하십시오. 예를 들어 main과 같은 경우입니다.
  5. 작업트리 생성을 클릭합니다.
브랜치 스위치기의 아래쪽에서 새 작업 트리를 선택하여 독립적인 체크아웃을 생성합니다.

Dream은 체크아웃을 생성하고 프로젝트를 열며, 작업 트리 브랜치를 채팅 아래에 확인한 후 작업을 전송하십시오. 이 프로젝트의 명령어와 에이전트 편집은 새 디렉토리를 사용합니다.

기본 참조는 당신의 로컬 저장소에 존재해야 합니다. 더 최신의 원격 커밋이 필요하다면, 워크트리를 생성하기 전에 일반적인 Git 워크플로우를 통해 가져오십시오.

대화를 워크트리로 이어가기#

메시지에서 이 메시지에서 계속… → 새 작업 트리를 선택합니다. Dream은 해당 메시지까지의 대화를 복사하여 현재 브랜치를 기반으로 하며 새로운 브랜치 이름을 생성합니다.

대화 분기를 원할 경우 이 단축키를 사용하세요. 맞춤형 기반 및 분기 이름을 선택해야 할 경우 분기 전환 작업 흐름을 사용하세요. 대화 분기를 참조하세요. 메시지 복사와 파일 복사 사이의 차이를 확인하세요.

Worktrees는 커밋된 Git 역사에서 시작됩니다. 원본 프로젝트의 미커밋된 변경사항은 복사되지 않습니다. 이전 메시지에서 나온 채팅은 그 대화의 그 시점에서 파일 시스템을 재생하지 않습니다.

체크아웃 간 이동#

프로젝트 탭을 사용하여 원본 체크아웃과 워크트리 프로젝트를 전환할 수 있습니다. 앱이 관리하는 워크트리는 부모 프로젝트의 채팅 기록 패널에 나타나며, 다시 열 수 있습니다.

프로젝트에서 변경 사항을 검토하고 커밋합니다. 워크트리를 생성하면 그 변경 사항이 원본 브랜치에 머지되지 않습니다. 작업이 완료되었을 때는 품질의 Git 작업을 사용합니다.

워크트리를 완료합니다#

합치기, pull 요청 생성, 워크트리 제거는 하단의 Git 작업 메뉴에서 별도의 작업입니다. 합치기 전에 포함하고자 하는 변경 사항을 커밋하세요.

워크트리를 완료합니다
  1. 워크트리 프로젝트에서 기준 브랜치로 병합을 채팅 아래의 Git 작업 메뉴에서 선택하세요.
  2. 요약을 검토하세요: 기본 브랜치, 브랜치가 커밋에서 앞서는지 뒤에 있는지, 변경된 파일, 그리고 주 브랜치의 현재 브랜치와 깨끗한지 여부.
  3. 커밋 목록을 읽고 파일을 확장하여 차이를 검사합니다.
  4. 커밋 변경을 필요로 한다면 **변경 사항 커밋...**을 사용하세요. 아직 커밋되지 않은 변경사항은 워크트리에 남아 합치되지 않습니다.
  5. 기본 브랜치에 병합을 선택합니다. Dream은 주 체크아웃에 커밋된 작업을 병합하며, 필요에 따라 주 브랜치로 전환합니다.
  6. 결과를 검토한 후 워크트리 유지 또는 워크트리 및 브랜치 제거를 선택하세요. 머지 후 제거는 워크트리가 깨끗할 때만 제공됩니다.
변경 사항 검토
워크트리를 완료합니다

리뷰를 위해 발표하려면 Git 작업 → 풀 요청 생성을 사용하고 Git 작업 흐름을 따릅니다. 풀리퀘스트를 생성하면 워크트리가 유지됩니다.

Git 작업 → 작업 트리 제거를 사용하여 체크아웃을 제거하면서도 그 브랜치를 유지합니다. 아직 커밋되지 않은 변경 사항이 있다면 먼저 커밋하거나 명시적으로 커밋되지 않은 변경 사항 버리기를 선택합니다.

워크트리 삭제는 그 워크트리의 디렉토리를 삭제하고 프로젝트를 닫습니다. 워크트리 프로젝트의 채팅은 함께 삭제되며 채팅 기록이나 최근 닫힘에 나타나지 않습니다. 대화를 유지하고자 한다면, 완료하기 전에 부모 워크스페이스로 브랜치를 분리하세요.

옵션을 사용할 수 없을 때#

메시지무엇을 해야 할지
이 브랜치는 base보다 앞에 커밋이 없습니다커밋하고자 하는 작업을 선택하거나 워크트리를 제거하세요
주요 브랜치에는 아직 커밋되지 않은 파일이 있습니다.부모 프로젝트에 머지하기 전에 변경 사항을 커밋하거나 스태시하라
주요 브랜치에는 머지 또는 리베이스 작업이 진행 중입니다부모 프로젝트에서 해당 작업을 완료하거나 중단하세요
이 브랜치는 base와 역사가 공유되지 않는다당신의 Git 워크플로우를 통해 머지하세요
Git 원격 저장소가 설정되어 있지 않습니다풀리 요청을 만들기 전에 원격 저장소를 추가하세요.
GitHub CLI (gh)은 사용할 수 없습니다GitHub CLI를 설치하고 인증합니다

만약 머지가 갈등을 유발하면, Dream은 이를 중단하고 기반 브랜치에 머지하는 과정에서 갈등이 발생했습니다. 머지가 중단되었고, 아무런 변경도 이루어지지 않았습니다와 함께 갈등이 발생한 파일들을 보여줍니다. 기반 브랜치를 워크트리에 가져오고, 갈등을 해결한 후 커밋을 수행한 다음, 기반 브랜치에 머지를 다시 실행합니다.

부모 프로젝트에서 워크트리를 제거합니다#

워크트리를 완료 대화 없이 제거할 수도 있습니다.

  1. 필요한 작업을 커밋하여 보존하고, 적절한 경우 push하거나 PR을 열 수 있습니다.
  2. 워크트리에서 실행되는 프로세스를 중단하십시오. 예: 로컬 애플리케이션을 그 워크트리의 터미널에서 실행하고 있는 경우.
  3. 부모 프로젝트의 채팅 기록 패널을 열고 워크트리를 찾습니다.
  4. remove 작업을 사용하고 확인을 검토하세요.
  5. 작업 트리가 더 이상 필요하지 않을 때 작업 트리 제거를 확인하세요.

삭제는 워크트리 디렉토리를 디스크에서 제거합니다. Git이 미커밋된 변경 사항을 포함하고 있다면 삭제를 거부합니다. 다시 그 프로젝트로 돌아가 변경 사항을 검토한 후에 다시 시도하세요.

프로젝트 탭을 닫는 것은 열린 워크스페이스에서만 제거되며, 워크트리를 제거하는 것은 그 체크아웃을 삭제합니다. 커밋과 PR 단계에 대해서는 Git 작업 흐름을 참조하세요.