VS Code 1.141이 10월 7일 나왔다. Chat: Open Worktree Cleanup 명령은 비활성 에이전트 세션의 worktree가 디스크를 얼마나 쓰는지 보여 주고, 더 필요 없는 것을 지우게 한다.
화면에서는 비활성 기간으로 세션을 거르고 worktree별 크기를 확인해 정리할 항목을 고른다. 같은 화면에서 풀 리퀘스트가 병합된 세션의 자동 정리와, 저장 공간이 커졌을 때 정리를 제안할지도 설정한다.
chat.agentSessions.sessionStorageCleanupSuggestion.enabled가 켜져 있으면, 비활성 worktree가 충분히 쌓이거나 디스크를 많이 쓸 때 Agents 창이 알린다.
정리와 복원이 실제로 하는 일
정리하면 선택한 세션이 완료 처리되고 해당 worktree가 삭제된다. 나중에 세션을 복원하면 worktree를 다시 만들며, 활성·실행 중·입력 대기·고정된 세션은 정리에서 보호된다.
Git 문서에 따르면 저장소 하나는 여러 작업 트리를 가질 수 있고, git worktree add로 만든 것을 연결된(linked) worktree라 부른다. git worktree remove는 추적하지 않는 파일과 수정이 없는 깨끗한 worktree만 지우며, 그렇지 않으면 --force가 필요하다.
git worktree prune은 남은 관리 파일을 정리하는 별도 명령이다. 이 배경은 체크아웃을 지워 공간을 얻는 원리를 설명할 뿐, VS Code 정리 명령의 내부 구현을 보여 주지는 않는다.
다시 만들기와 되살리기의 차이
릴리스 노트의 표현은 worktree를 다시 만든다는 것이다. 지운 시점에 커밋하지 않은 파일이나 메모까지 돌아온다는 문장은 없다.
병합된 풀 리퀘스트는 제출한 변경의 증거일 뿐이며, 로컬 체크아웃에는 메모나 생성한 입력처럼 PR에 담기지 않은 작업이 남아 있을 수 있다.
나이와 크기가 알려 주는 것
오래되고 큰 worktree가 눈에 띄지만, 크기만으로 남은 내용의 가치는 알 수 없다. 오래된 세션은 버려진 작업일 수도, 답을 기다리며 멈춘 조사일 수도 있다.
그래서 첫 정리에서는 화면에 뜬 크기와 함께 선택한 체크아웃의 남은 변경을 직접 보는 편이 안전하다.
자동 정리가 맞아떨어지는 조건
병합 전에 필요한 변경과 조사 메모를 임시 체크아웃 밖에 남기는 습관이 팀에 있으면, 병합된 PR 세션의 자동 정리는 버려도 되는 상태만 지우게 된다. 이는 운영 방식의 제안이지 VS Code가 보장하는 동작이 아니다.
계속 열어 둘 세션은 고정하면 정리에서 보호되지만, 고정이 중요한 작업의 저장 위치를 대신하지는 않는다.
주의할 점: 이 글이 확인하지 않은 것
이 글은 worktree를 직접 지우거나 복원하지 않았고 용량도 재지 않았다. 미커밋 상태가 복원되는지는 확인되지 않은 부분이다.
끝난 세션부터 손으로 정리해 보고, 확보한 공간과 남긴 작업을 다시 이어 갈 수 있는지 함께 확인한 뒤 자동 정리를 켜는 순서가 위험이 작다.
VS Code 1.141의 worktree 정리는 세션을 완료 처리하고 체크아웃을 지우며 복원 때 worktree만 다시 만들기 때문에, 커밋하지 않은 로컬 작업은 정리 전에 다른 곳에 남겨 둬야 한다.
