본문 바로가기
ColliePWA

07/Documentation

Changes: 에이전트가 변경한 내용 확인

에이전트가 작업 공간에서 변경한 내용: 창이나 대시보드에서 변경된 파일, diff 및 마지막 커밋을 확인합니다. 읽기 전용 git, 중첩된 리포지토리 및 탐색 범위를 결정하는 두 가지 설정입니다

Changes 보기에는 마지막 커밋 이후 작업 공간의 git 저장소에서 변경된 내용이 표시됩니다. 에이전트가 작업하는 동안 변경된 파일, 추가 및 삭제된 줄 수, 구문 강조가 적용된 각 파일의 diff를 스마트폰에서 확인할 수 있습니다. 에이전트가 이미 커밋한 경우 마지막 커밋이 표시됩니다.

참고. Changes는 읽기 전용입니다. 파일을 스테이징, 커밋, 편집 또는 체크아웃하지 않습니다(아래).

열기

두 가지 접근 방식이 있습니다.

  • 창에서 열기. 창 동작 벨트에서 Switch 마크 왼쪽에 있는 Changes 버튼 아이콘을 탭합니다. 목록에는 창의 전체 작업 공간이 포함되며 창의 고유 저장소가 표시됩니다.
  • 대시보드에서 열기. 대시보드 하단에서 창 및 Focus 옆에 있는 Changes을 탭합니다. 작업 공간별로 변경된 파일 수와 추가 및 삭제된 줄 수의 합계가 한 행씩 나열됩니다. 변경 사항이 없는 작업 공간은 흐리게 표시된 상태로 제자리에 유지됩니다. 해당 작업 공간의 목록을 열려면 행을 탭하십시오.

대시보드 카운트는 Changes 탭이 화면에 표시되는 동안에만 5초마다 새로고침됩니다. 선택한 탭은 기기별로 유지됩니다.

목록

목록은 변경된 파일을 git 저장소별로 그룹화합니다. 각 파일에는 상태와 +added −removed 줄 수가 표시됩니다.

상태의미
수정됨추적 중인 파일이 변경됨
추가됨스테이징된 새 파일
삭제됨추적 중인 파일이 삭제됨
이름 변경됨파일이 이동되었습니다. diff에 이전 경로가 표시됩니다.
추적되지 않음git이 아직 추적하지 않는 새 파일입니다.
  • 기준은 마지막 커밋입니다. 스테이징된 변경 사항과 스테이징되지 않은 변경 사항이 함께 표시됩니다. 커밋이 없는 저장소는 빈 트리와 비교됩니다.
  • 새 파일에는 모든 줄이 추가된 것으로 표시됩니다. 새 폴더은 단일 항목입니다. Collie는 폴더가 새 폴더임을 알리고 내부 파일은 나열하지 않습니다. 따라서 새로 생성된 node_modules 항목이 목록에 나타나지 않습니다.
  • 바이너리 파일 목록에 나열되지만 줄 단위 내용은 표시되지 않습니다.
  • 현재 창. 여러 저장소가 나열된 창에서 열린 경우, 해당 창 자체의 저장소에 현재 창 라벨이 붙습니다. 처음 읽을 때 목록이 해당 위치로 스크롤됩니다.
  • 목록 또는 트리. 레이아웃 스위치를 통해 파일을 저장소당 단일 플랫 목록으로 보거나 폴더 트리로 볼 수 있습니다.
  • 파일 필터링. 필터 버튼을 사용하면 경로 텍스트와 상태별로 목록을 좁힐 수 있습니다. 이후 목록에 표시된 파일 수가 안내됩니다.

diff 읽기

diff를 읽으려면 파일을 탭하십시오. 이전 파일 및 다음 파일 키로 목록으로 돌아가지 않고 파일을 순회할 수 있습니다.

  • diff에는 두 개의 줄 번호 거터, 추가 및 삭제 행 강조, 줄 바꿈이 표시됩니다.
  • 주요 언어에는 구문 강조가 적용됩니다: TypeScript, JavaScript, JSON, CSS, HTML, Markdown, Python, Go, Rust, shell, YAML, TOML 등입니다. 다른 언어의 파일이나 2000줄을 초과하는 diff는 일반 텍스트로 유지됩니다.
  • 매우 긴 diff는 제한에서 중단되며 알림이 표시됩니다.
  • diff를 읽는 동안 에이전트가 파일을 되돌리거나 커밋하더라도 diff는 화면에 유지되고 헤더에 더 이상 변경되지 않음 표시가 나타납니다. 뷰가 갑자기 전환되지 않습니다.

마지막 커밋

에이전트가 작업을 스스로 커밋하는 경우가 많으므로 읽으려는 변경 사항 직후 목록이 비어 있을 수 있습니다. 커밋되지 않은 변경 사항이 없는 저장소의 경우 뷰에서 마지막 커밋 표시 옵션을 제공합니다.

커밋 뷰에는 제목, 작성자, 시간, 짧은 해시 및 커밋의 파일들이 각각의 diff와 함께 표시됩니다. 커밋을 첫 번째 부모와 비교하므로 병합 시 가져온 변경 내용이 표시됩니다. 가장 최신 커밋만 읽습니다. 히스토리 브라우저는 없습니다.

  • 에이전트가 다시 커밋하면 눈에 띄지 않는 더 새로운 커밋이 있습니다 상태로 탭을 기다립니다. 화면의 파일이 작업 중에 임의로 변경되지 않습니다.
  • 커밋되지 않은 새 변경 사항이 나타나면 커밋되지 않은 새 변경 사항을 통해 목록으로 돌아갑니다.

최신 상태를 유지합니다

열려 있는 Changes 화면은 페이지가 표시되는 동안 5초마다 git을 다시 읽습니다. diff에서는 열려 있는 파일도 다시 읽습니다. 새 변경 사항이 없는 재판독은 화면의 아무것도 이동시키지 않습니다. 스크롤, 필터, 접힌 폴더는 그대로 유지됩니다.

  • 숨겨진 페이지는 읽기를 중지하며, 다시 표시될 때 한 번 읽습니다.
  • 새로고침 버튼을 누르면 지금 읽습니다.
  • 두 번 연속으로 읽기에 실패하면 헤더에 업데이트 안 됨이 표시되고 마지막 정상 목록이 유지됩니다. 다음 정상 판독 시 이 메시지가 지워집니다.

대상 폴더 및 저장소

목록은 창 자체의 폴더뿐만 아니라 창의 작업공간도 다루므로 한 작업공간의 모든 창에 동일한 목록이 표시됩니다. 헤더에는 작업공간과 해당 폴더의 이름이 지정됩니다. Collie는 다음 순서로 해당 폴더를 선택합니다.

순서폴더
1멀티플렉서가 작업공간 자체 폴더를 유지하는 경우 해당 폴더: Herdr의 worktree, tmux의 세션 폴더
2워크스페이스의 모든 창을 포함하는 가장 깊은 폴더
3처음 두 항목이 /, 홈 폴더 또는 그 상위 폴더인 경우 창 자체 폴더

그런 다음 Collie는 해당 폴더가 포함된 저장소를 찾습니다. 또한 부모 저장소가 무시하는 저장소까지 포함하여 하위 폴더의 저장소도 검색합니다. 이렇게 하면 멤버 저장소가 내부에 무시된 작업공간 저장소에서도 모든 멤버의 변경 사항을 계속 표시할 수 있습니다.

두 가지 기기별 설정이 해당 검색을 제어합니다. 둘 다 설정 → 기기 → Changes에 있습니다.

설정기본값기능
이 폴더 내에서 저장소 찾기켜짐상위 저장소가 무시하는 저장소를 포함하여 워크스페이스 폴더 아래 폴더에 있는 저장소도 나열합니다.
탐색할 깊이2워크스페이스 폴더 아래로 검색을 진행할 폴더 단계 수(1~4)

검색은 심볼릭 링크를 절대 따르지 않습니다. 점(.)으로 시작하는 폴더와 node_modules, dist, build, vendor, target는 건너뜁니다. 저장소 20개 또는 폴더 항목 5,000개에서 중지됩니다.

검색이 지정된 깊이에서 중지되고 더 아래에 저장소가 있는 경우, 목록은 "2단계에서 중지되었으며 하위에 추가 저장소가 있습니다."라는 문구와 Settings에서 더 깊이 보기 링크로 끝납니다. 저장소 또는 항목 제한에 도달하면 파일이 누락되었을 수 있으므로 목록이 대신 "목록 한계에 도달했습니다"로 끝납니다.

검색을 통해 찾은 서브모듈이나 중첩 저장소는 자체 저장소로 한 번만 표시됩니다. 깊이 제한 아래에 있는 서브모듈은 부모 저장소의 단일 항목으로 표시됩니다.

읽기 전용 및 안전

Changes는 오직 읽기 위해서만 git을 실행하며 다른 작업은 하지 않습니다.

  • 스테이징, 커밋, 편집, 체크아웃을 절대 수행하지 않습니다. git의 인덱스 캐시를 새로고침하지도 않습니다.
  • Collie가 저장소를 읽는 동안 저장소 자체의 훅, 필터, 외부 diff 프로그램, 텍스트 변환은 절대 실행되지 않습니다. 에이전트가 어떤 것을 복제했든 사용자는 Changes만 탭했을 뿐입니다.
  • 부분 복제에서 누락된 파일을 가져오는 경우를 포함하여 네트워크에 절대 접근하지 않습니다. 이 경우 해당 파일은 변경 횟수 0과 빈 diff로 표시됩니다.
  • diff는 검색으로 찾은 저장소 내에서 git 자체가 변경된 것으로 나열한 파일에 대해서만 제공됩니다.

전체 규칙은 ADR 0065에 있습니다.

crew 전체에 적용

crew에서는 다른 머신의 창이나 작업공간을 해당 머신에서 읽습니다. lead가 요청을 전달하고 해당 머신의 git이 응답합니다. 해당 머신에서는 Collie 1.13.0 이상을 실행해야 합니다.

제한 사항

  • zellij 창에는 Changes 버튼이 없습니다. zellij는 창의 폴더를 보고하지 않습니다. zellij 작업공간의 대시보드 행에는 "폴더 없음"으로 표시됩니다.
  • 해당 창을 소유한 머신에서 Git이 설치되어 있어야 합니다.
  • Git LFS 파일이 수정된 것으로 표시될 수 있습니다. 필터가 꺼져 있으면 Collie는 LFS 파일을 해당 포인터와 비교합니다. 변경 사항을 숨기지는 않으며, 너무 많이 표시할 수만 있습니다.
  • 하나의 작업 공간, 하나의 폴더. 홈 폴더 아래의 관련 없는 폴더들에 창들이 위치한 작업 공간은 병합된 뷰 대신 요청 창 자체의 폴더를 읽습니다.

GitHub에서 이 페이지 수정하기

The rest of the documentation