Git과 워크트리
git 페이지, 어느 페인에서든 가능한 브랜치 전환, 그리고 에이전트끼리 부딪히지 않게 하는 세션별 워크트리.
git 페이지#
⇧⌘G가 GitHub Desktop 형태의 페이지를 엽니다.
- 저장소와 브랜치 전환
- fetch(⇧⌘T), pull, push(⌘P), 새로 고침(⌘R)
- 변경 사항을 파일별로 검토하고, 원하는 것만 스테이지해 커밋(⌘↩)
- 히스토리 탐색과 브랜치 병합
Agentty는 이용자의 git을 그 설정과 자격 증명 그대로 사용합니다. 모든 명령은 비대화형으로 실행되므로, 보이지 않는 프롬프트에서 멈추는 일이 없습니다. 자격 증명 도우미가 처리하지 못하는 push라면 멈춰 있는 대신 메시지와 함께 실패합니다.
페인에서 바로#
어느 페인이든 헤더의 브랜치 이름을 클릭하면 터미널을 떠나지 않고 브랜치 전환, pull, push, 이름 복사를 할 수 있습니다.
세션마다 하나의 워크트리#
이미 다른 세션이 작업 중인 프로젝트에서 두 번째 AI 세션을 열면, Agentty는 그것을 프로젝트 기본 브랜치에서 딴 새 브랜치의 전용 git 워크트리에서 시작합니다. 두 에이전트가 같은 파일을 고치는 일이 없습니다.
- 워크트리는
~/.agentty/worktrees/아래에,agentty/<이름>브랜치로 만들어집니다. - 모든 세션을 한 폴더에서 돌리고 싶다면 설정 → 일반에서 끕니다.
동작 방식#
Agentty는 새 브랜치 agentty/<이름>으로 git worktree add를 실행하며, 기준은 프로젝트 폴더가 현재 체크아웃한 브랜치가 아니라 기본 브랜치입니다. 그래서 한 세션이 다른 세션의 병합되지 않은 작업 위에 쌓이는 일이 없습니다.
트리는 프로젝트 바깥의 ~/.agentty/worktrees/<프로젝트>-<경로 해시>/<이름>/에 만들어집니다. 프로젝트 폴더 안에 두지 않는 것이 중요합니다. 코드 사본이 그 안에 있으면 모든 검색, 파일 워처, 빌드가 그 사본까지 훑게 됩니다.
Agentty가 삭제하는 것은 그 폴더 아래의 트리뿐입니다. 이용자가 직접 만든 워크트리는 파일 패널에 표시만 되고 건드리지 않습니다.
파일 패널#
⌥⌘B는 프로젝트 트리를 터미널 옆에 붙입니다. 프로젝트의 모든 워크트리와, 각 트리에서 누가 작업하고 무엇이 바뀌었는지도 함께 보여줍니다.
트리를 우클릭하면 그 안에서 터미널을 열거나, 경로를 복사하거나, (병합된 뒤) 브랜치와 함께 제거할 수 있습니다.
병렬 작업#
에이전트에게 작업을 나누라고 하면 됩니다 — "A, B, C를 병렬로". 에이전트가 Agentty에 요청하고, 한 번 확인하면, 각 작업이 자기 분할 페인과 자기 워크트리에서 시작됩니다.
이런 요청은 매번 확인을 거칩니다. 에이전트가 스스로 페인을 열 수는 없습니다.
파일 편집기#
파일 패널에서 파일을 클릭하면 터미널 옆에서 열립니다. 주요 언어의 구문 강조, 실행 취소와 다시 실행, ⌘S 저장, 그리고 설치된 포매터(Prettier, google-java-format, ktlint, rustfmt, gofmt, Black)로 정렬하는 ⇧⌥F를 지원합니다.
에이전트가 바꾼 파일은 자동으로 다시 읽힙니다. 편집기에서 열기는 파일을 VS Code, Cursor 또는 시스템 편집기로 넘깁니다. 파일은 읽고 쓸 뿐, 실행되지 않습니다.