Skip to main content
워크트리를 만들고, 사이드바에서 오가며 전환하고, 다 쓴 워크트리를 안전하게 삭제하는 전 과정을 다룹니다. 모든 동작은 좌측 사이드바에서 시작됩니다.

새 워크트리 만들기

ParalleLane은 저장소의 기본 브랜치에서 새 브랜치를 만들고, 그 브랜치를 체크아웃한 워크트리 폴더를 한 번에 생성해 줍니다.
1

+ 버튼 누르기

좌측 사이드바에서 저장소(프로젝트) 행 위에 마우스를 올리면 나타나는 + 버튼(툴팁 “워크트리 추가”)을 클릭합니다. 워크트리 생성(Create Worktree) 다이얼로그가 열립니다.
워크트리 생성 다이얼로그. 새 브랜치 이름 입력란, 자동으로 채워진 워크트리 경로와 찾아보기 버튼, 그 아래 기준 브랜치 표시가 보인다
2

새 브랜치 이름 입력

만들 새 브랜치 이름을 입력합니다. 다이얼로그 아래쪽에는 기준이 되는 브랜치가 기준: main처럼 표시됩니다. 기준 브랜치는 origin/HEAD가 가리키는 로컬 브랜치 → 로컬 main → 로컬 master 순서로 자동 해석됩니다.
3

워크트리 경로 확인 또는 변경

워크트리 경로에는 기본값이 자동으로 채워집니다. 저장소 부모 폴더의 형제 디렉터리 형태(<저장소부모>/<저장소이름>-<브랜치>)로 제안되며, 브랜치 이름을 바꾸면 경로 기본값도 따라 갱신됩니다(경로를 직접 편집하기 전까지). 브랜치 이름의 /는 경로에서 -로 바뀌므로, feature/login<저장소이름>-feature-login 폴더가 됩니다.폴더 위치를 바꾸고 싶다면 찾아보기… 버튼으로 부모 폴더를 직접 고를 수 있습니다.
4

생성

생성을 누르면 진행 → 완료 토스트가 뜨고, 새로 만든 워크트리가 자동으로 선택(활성화)됩니다. 그래프와 저장소 개요도 새 워크트리 기준으로 새로고침됩니다.
기준으로 삼을 기본 브랜치를 찾지 못하면(main/master/origin/HEAD 모두 없음) 다이얼로그가 이를 안내하고 생성을 막습니다.
경로가 이미 존재해 비어 있지 않거나, 브랜치 이름이 중복·무효이면 Git이 생성을 거부하고 실패 토스트로 사유가 표시됩니다. 이럴 때는 다른 경로나 브랜치 이름으로 다시 시도하세요.

워크트리 전환하기

1

워크트리 행 클릭

좌측 사이드바에서 저장소 아래에 나열된 워크트리 행을 클릭하면 그 워크트리로 전환됩니다. 다른 저장소의 워크트리를 고르면 그것이 곧 저장소 전환이기도 합니다.
2

탭이 히스토리 하나로 초기화됨

실제로 다른 워크트리로 바뀔 때, 열려 있던 diff 탭들은 모두 닫히고 탭이 그래프를 보여 주는 히스토리(History) 탭 하나로 초기화됩니다. 이전 워크트리의 맥락과 맞지 않는 stale 탭이 남지 않도록 하기 위함입니다. 같은 워크트리를 다시 클릭한 경우에는 탭이 그대로 유지됩니다.
다른 워크트리로 전환한 직후의 화면. 탭 줄에 히스토리 탭 하나만 남아 있고 사이드바에서는 새로 선택된 워크트리 행이 강조되어 있다
히스토리 탭은 항상 첫 자리에 고정돼 있어 닫을 수 없습니다. 그래프·저장소 개요·워킹 카피(Working copy) 상태는 워크트리별로 캐시되므로, 워크트리를 오가도 각 워크트리의 그래프가 빠르게 다시 나타납니다. 자세한 내용은 워크트리별 상태를 참고하세요.

워크트리 삭제하기

1

삭제 버튼 열기

사이드바에서 연결된 워크트리 행에 마우스를 올리면 앞섬/뒤처짐 카운터 자리에 휴지통 아이콘(삭제 버튼)이 나타납니다. 클릭하면 삭제 확인 다이얼로그가 열립니다.
2

옵션 확인

다이얼로그에는 “<경로> 워크트리를 삭제합니다.”라는 안내가 뜨고, 그 아래 두 개의 토글이 있습니다.
  • 브랜치도 함께 삭제(Also delete branch) (기본 꺼짐): 라벨에 대상 브랜치 이름이 함께 표시됩니다. 워크트리에 체크아웃돼 있던 브랜치까지 삭제하며, 강제 삭제가 켜져 있으면 병합 여부와 무관하게(git branch -D) 브랜치를 지우고 꺼져 있으면(-d) 병합되지 않은 브랜치는 삭제가 거부됩니다. 분리된 HEAD 워크트리에는 지울 브랜치가 없으므로 이 토글이 나타나지 않습니다.
  • 강제 삭제(Force delete) (기본 꺼짐): 라벨에 “커밋되지 않은 변경 폐기”라는 부연이 붙습니다. 커밋하지 않은 변경사항이 있는 워크트리도 제거합니다.
워크트리 삭제 확인 다이얼로그. 삭제할 워크트리 경로 안내 아래에 브랜치도 함께 삭제 토글과 강제 삭제 토글이 차례로 놓여 있고 둘 다 꺼져 있다
잠긴(locked) 워크트리는 강제 삭제 토글만으로는 제거되지 않습니다. Git이 별도의 잠금 무시 절차를 요구하기 때문이며, 아래 잠긴 워크트리 삭제 실패와 재시도에서 다룹니다.
3

삭제 실행

삭제를 누르면 진행 → 완료 토스트로 결과가 표시됩니다. 삭제한 워크트리가 현재 선택 중이었다면 선택은 기본 워크트리로 이동합니다.
기본 워크트리(primary worktree)에는 삭제 버튼이 나타나지 않습니다. Git이 기본 워크트리 제거를 거부하기 때문입니다.또한 강제 삭제를 켜면 그 워크트리 폴더의 커밋하지 않은 변경사항이 사라집니다. 되돌릴 수 없으니 신중히 사용하세요.
워크트리는 지워졌지만 브랜치 삭제만 실패한 경우(예: 병합되지 않음)에는 경고 토스트로 부분 실패를 알려 줍니다.

잠긴 워크트리 삭제 실패와 재시도

삭제가 실패했을 때 ParalleLane은 한 단계씩만 위험을 높입니다. 실패 토스트에 재시도 버튼이 붙는 경우는 딱 하나뿐입니다.
1

1단계 — 강제 삭제 꺼짐: 안내만, 버튼 없음

강제 삭제를 끈 채로 삭제하다 실패하면 실패 토스트에는 액션 버튼이 붙지 않습니다. 커밋하지 않은 변경 때문이든 잠금 때문이든 마찬가지입니다.커밋하지 않은 변경 때문이라면 “커밋되지 않은 변경이 있어 삭제할 수 없습니다. ‘강제 삭제’ 옵션으로 다시 시도하세요”라는 안내가, 잠긴 워크트리라면 “워크트리가 잠겨 있어 삭제할 수 없습니다”라는 안내가 표시됩니다(두 안내 모두 뒤에 Git이 낸 원본 메시지가 이어 붙습니다). 어느 쪽이든 다음 단계로 넘어가려면 다이얼로그를 다시 열어 강제 삭제 토글을 직접 켜야 합니다. 안전한 일반 삭제가 원클릭으로 강제 삭제로 승격되는 일은 없습니다.
2

2단계 — 강제 삭제 켜짐이 잠금에 막히면: '잠금 무시하고 삭제' 버튼

강제 삭제를 켜고 재시도했는데 그 워크트리가 잠겨 있어 또 실패하면, “워크트리가 잠겨 있어 삭제할 수 없습니다” 안내 뒤에 이어 붙는 Git의 원본 에러 메시지에 잠금 사유(lock reason) 텍스트가 들어 있습니다. 누가·어떤 세션이 그 워크트리를 잠갔는지 여기서 직접 확인할 수 있습니다.이때만 토스트에 잠금 무시하고 삭제 액션 버튼이 나타납니다. 누르면 모달 없이 곧바로 잠금을 무시하는 삭제로 재시도합니다.잠금이 아닌 다른 이유로 강제 삭제가 실패했다면 버튼은 나타나지 않습니다. 잠금 무시로는 해결되지 않는 실패이기 때문입니다.
3

3단계 — 잠금 무시도 실패하면: 더 이상 버튼 없음

잠금 무시하고 삭제까지 실패하면 실패 토스트에 재시도 버튼이 더는 붙지 않습니다. 같은 명령을 무한히 반복하지 않도록 여기서 에스컬레이션이 끝납니다. 남은 원인은 에러 메시지를 보고 직접 해결해야 합니다.
워크트리 잠금은 보통 다른 도구나 세션이 그 워크트리를 점유하는 동안 걸어 두는 보호 장치입니다. ParalleLane은 잠금이 이미 끝난 세션의 잔재인지, 지금 살아 있는 작업의 잠금인지 자동으로 판별하지 않습니다. 그래서 판단 근거로 원본 잠금 사유를 그대로 보여 줍니다.잠금 무시하고 삭제를 누르기 전에 에러 메시지의 잠금 사유를 꼭 읽어 보세요. 살아 있는 다른 작업 공간을 통째로 날려 버릴 수 있습니다.