워크트리: 같은 저장소의 또 다른 체크아웃
연결된 워크트리를 사용하면 이미 열어 둔 체크아웃을 바꾸지 않고 다른 폴더에서 다른 브랜치로 작업할 수 있습니다. 하나의 저장소 안에서 작업이나 에이전트의 시도를 병렬로 진행할 때 사용하세요.
FluxGit은 서브모듈, 워크트리, 부모와 자식 저장소의 관계를 보여줍니다. 여러 부분으로 구성된 작업 공간에서도 커밋하지 않은 변경 사항과 부모가 기록한 커밋과의 불일치를 확인할 수 있습니다.
연결된 워크트리를 사용하면 이미 열어 둔 체크아웃을 바꾸지 않고 다른 폴더에서 다른 브랜치로 작업할 수 있습니다. 하나의 저장소 안에서 작업이나 에이전트의 시도를 병렬로 진행할 때 사용하세요.
서브모듈은 자체 이력을 갖습니다. 부모 저장소는 사용할 서브모듈의 특정 커밋을 기록하므로, 다른 프로젝트를 포함하면서 해당 참조를 언제 업데이트할지 선택할 수 있습니다.
두 가지는 서로 다른 문제를 해결합니다. 워크트리는 하나의 저장소에 여러 작업 폴더를 제공하고, 서브모듈은 두 저장소를 연결합니다. FluxGit은 연결된 워크트리와 부모·자식 서브모듈 상태를 같은 작업 공간 화면에 보여줍니다. 병렬 코딩 에이전트를 위한 안전한 워크트리 워크플로와 Git 워크트리 및 Git 서브모듈 문서를 통해 기반이 되는 Git 동작을 확인하세요.
워크트리와 서브모듈은 함께 사용할 수 있지만 각 체크아웃을 따로 확인해야 합니다. Git은 여러 워크트리에 걸친 서브모듈 지원이 불완전하다고 명시하며 상위 프로젝트를 여러 번 체크아웃하는 방식을 권장하지 않습니다. 이 구조를 사용하기 전에 제한 사항을 확인하세요.
참조를 바꾸기 전에 이 세 커밋을 비교하세요. 커밋이 같아도 하위 작업 폴더가 깨끗하다는 뜻은 아닙니다. FluxGit은 상위·하위 상태와 참조 차이를 보여 줍니다. Agent Lanes는 변경 사항을 적용하지 않고 병렬 시도를 비교합니다.
서브모듈은 부모가 기록한 커밋에서 벗어날 수 있고, 워크트리는 여러 폴더에 브랜치를 나누어 놓습니다. 이 상태가 보이지 않으면 잘못된 서브모듈 커밋을 가리키는 부모 저장소를 커밋하게 됩니다.
서브모듈과 워크트리 워크플로는 베타 단계입니다. 처리할 상태를 작업 공간별로 표시하며, 서브모듈과 워크트리의 파괴적 작업도 다른 모든 작업과 같은 보호 확인 절차를 거칩니다.
클론할 때 기본적으로 서브모듈을 초기화하며, 관련 맥락에서 자식 또는 부모 저장소를 열 수 있습니다. Fleet Radar에서 어긋난 서브모듈 포인터를 부모에 기록하거나 서브모듈을 기록된 커밋으로 되돌릴 수 있습니다. 중첩 깊이에 관계없이 동작합니다.
데스크톱 백엔드가 필요한 워크트리 작업에는 실행 조건과 도움말이 제공됩니다. 같은 작업에 대한 병렬 시도가 연결된 워크트리에 있으면 나란히 비교한 뒤, 선택한 시도를 보호 절차에 따라 병합할 수 있습니다.
에이전트의 병렬 시도를 파일별로 나란히 비교하세요. 둘 이상의 시도가 변경한 파일을 먼저 표시하며, 각 셀에서 해당 시도의 차이를 열 수 있습니다. 비교 화면에서 변경 사항이 적용되지는 않습니다.
파괴적인 서브모듈 및 워크트리 작업은 실행 전에 확인을 요청합니다.
Agent Lanes는 각 병렬 시도를 열에, 각 파일을 행에 배치하고 현재 체크아웃과 비교합니다. 셀에서 각 시도의 차이를 확인한 뒤, 선택한 시도를 보호 절차에 따라 병합하세요.
서브모듈의 체크아웃이 부모가 기록한 커밋에서 벗어나면 Fleet Radar는 두 가지 작업을 제공합니다. 하나는 해당 포인터만 포함하는 커밋으로 새 포인터를 부모에 기록합니다. 다른 하나는 복원 지점을 유지하면서 서브모듈을 기록된 커밋으로 되돌립니다. 단, 이 체크아웃으로 어떤 브랜치, 태그 또는 원격에도 포함되지 않는 커밋이 남게 된다면 실행을 거부합니다. 두 작업 모두 중첩된 서브모듈에서 동작합니다.
작업 공간 검사는 로컬 처리를 우선합니다. FluxGit은 로컬 구조를 읽으며 외부로 전송하지 않습니다.
사이드바에서 서브모듈의 경로, 커밋, 커밋하지 않은 변경 사항의 유무를 확인합니다.