홍드로이드의 야매코딩

AI가 지운 파일은 되돌리기로 안 살아납니다 — 체크포인트가 못 잡는 다섯 가지 본문

AI & Vibe Coding

AI가 지운 파일은 되돌리기로 안 살아납니다 — 체크포인트가 못 잡는 다섯 가지

홍드로이드 2026. 8. 14. 03:13
반응형

되돌리기 · 안전망

명령어로 지운 파일은
되돌려지지 않습니다.

문서에 예시까지 들어 적혀 있습니다 — 파일을 지우거나 옮기거나 복사한 명령의 결과는 되돌리기로 취소할 수 없습니다. 잡히는 건 파일 편집 도구로 한 수정뿐입니다.

AI에게 코드를 맡기다 보면 "잘못되면 되돌리면 되지"라는 안심이 생깁니다. 실제로 그런 기능이 있고요. 그런데 그 기능이 무엇까지 책임지는지는 안 보고 넘어가기 쉽습니다. 문서를 열어봤더니 못 잡는 게 다섯 가지였습니다.

📌 30초 요약

  • 질문을 보낼 때마다 직전 상태가 자동 저장됩니다. 최근 100개까지.
  • 되돌릴 때 코드만·대화만·둘 다를 골라서 되돌릴 수 있습니다.
  • ⚠️ 명령어로 지우거나 옮긴 파일은 안 잡힙니다. 되살릴 수 없습니다.
  • ⚠️ 서브에이전트가 고친 것도 대개 복원되지 않습니다.
  • ⚠️ 링크로 연결된 파일은 조용히 건너뜁니다 — 경고만 뜨고 그 파일은 그대로입니다.

① 잡히는 것 — 어떻게 동작하나

질문을 하나 보낼 때마다 그 직전의 코드 상태가 저장됩니다. 따로 켤 것도, 누를 것도 없습니다. 그리고 최근 100개까지 보관됩니다.

🔁 되돌릴 때 고를 수 있는 것

코드와 대화 둘 다 · 대화만(코드는 지금 상태 유지) · 코드만(대화는 유지). 세 갈래로 나뉩니다.

여기에 "여기서부터 요약" · "여기까지 요약"도 있습니다. 되돌리지 않고 대화를 압축해 컨텍스트만 비우는 용도입니다. 길게 헤맨 디버깅 구간을 접어두고 앞부분 지시는 남길 때 씁니다.

⏳ 보관 기간

세션과 함께 30일 뒤 삭제됩니다. 그리고 세션을 다시 열어도 되돌리기는 그대로 쓸 수 있습니다 — 대화와 같이 저장되기 때문입니다. 다만 30일이라는 건 장기 보관이 아니라는 뜻이기도 합니다.

② 못 잡는 다섯 가지

안 잡히는 것 문서 내용
명령어로 바꾼 파일 지우기·옮기기·복사 같은 명령의 결과는 되돌리기로 취소할 수 없음
서브에이전트 편집 대개 복원되지 않음. git으로 되돌리라고 문서가 안내
외부에서 한 변경 내가 직접 고친 것, 다른 세션이 고친 것은 추적 대상이 아님
링크된 파일 건너뛰고 몇 개를 건너뛰었다는 경고만 표시. 파일은 그대로 남음
장기 이력 버전 관리의 대체가 아니라고 문서가 직접 못박음

📄 첫 번째가 제일 큽니다 — 원문

"Checkpointing does not track files modified by bash commands. … These file modifications cannot be undone through rewind. Only direct file edits made through Claude's file editing tools are tracked."

→ 문서가 예시로 든 명령이 파일 삭제·이동·복사입니다. AI가 그 명령으로 파일을 지웠다면 되돌리기로는 못 살립니다. 잡히는 건 편집 도구를 거친 수정뿐입니다.

🔗 앞서 본 것과 이어집니다

에이전트 권한 글에서 자동 승인 모드에 파일 삭제·이동 명령이 포함된다는 걸 확인했었습니다. 그 두 가지를 겹쳐 보면 이렇게 됩니다 — 자동으로 승인되어 실행되고, 되돌리기로는 복구되지 않습니다. 각각은 합리적인 설계인데 겹치는 지점이 얇습니다.

③ 조용히 건너뛰는 경우

네 번째 항목은 성격이 좀 다릅니다. 되돌리기를 눌렀고 성공했다고 나오는데, 일부 파일만 안 돌아간 상태가 됩니다.

📄 원문에 나오는 경고 문구

"Restored the code, but skipped N files"

"코드는 복원했는데 N개는 건너뛰었다"는 뜻입니다. 건너뛴 파일은 지금 내용 그대로 남습니다. 문서는 설정 관리 도구가 링크로 걸어둔 파일이나 일부 패키지 관리자가 만든 링크가 여기 해당한다고 예를 듭니다.

어떤 파일이 건너뛰어졌는지 확인하는 방법도 문서에 있습니다 — 되돌리기 전에 디버그 기록을 켜두면 건너뛴 경로가 로그에 남습니다. 중요한 되돌리기라면 켜두고 하시는 게 낫습니다. 캐싱이나 샌드박스에서 봤던 것과 같은 모양입니다 — 실패가 조용합니다.

④ 그래서 어떻게 쓰나

1. 이건 "실행 취소"지 백업이 아닙니다. 문서가 세션 단위의 빠른 복구용이라고 성격을 규정합니다. 30일이면 사라지고요.

2. 작업 시작 전에 커밋해두세요. 되돌리기가 못 잡는 다섯 가지를 전부 커버하는 건 버전 관리뿐입니다. 문서도 그렇게 안내합니다.

3. 여러 개를 병렬로 돌린다면 폴더를 나누세요. "다른 세션이 고친 건 추적 안 됨"에 그대로 걸립니다. 작업 폴더를 나누는 방법을 따로 정리해뒀습니다.

4. 되돌린 뒤에는 눈으로 확인하세요. "건너뛰었다"는 문구가 떴는지, 파일이 실제로 예전 상태인지요.

🚫 이 글이 확인하지 못한 것

실제로 되돌려보며 시험하지 않았습니다. 문서에 무엇이 적혀 있나까지입니다. 그리고 다른 AI 코딩 도구의 되돌리기 기능은 확인하지 않았습니다 — 도구마다 잡는 범위가 다를 수 있습니다. 다만 "명령어로 바꾼 파일도 잡히나"라는 질문은 어디에나 그대로 쓰실 수 있습니다.

자주 묻는 것

Q. 그럼 되돌리기는 언제 쓰나요?

문서가 든 쓰임은 다른 방식을 시험해볼 때 · 버그를 만든 변경을 빨리 취소할 때 · 되는 상태로 돌아가며 반복할 때 · 대화가 길어져 컨텍스트를 비울 때입니다. 전부 "작업 중" 상황이지 사고 수습용이 아닙니다.

Q. 서브에이전트를 쓰면 되돌리기가 아예 안 되나요?

예외가 하나 있습니다. 문서에 따르면 앞단에서 도는 방식이면 내 작업 폴더를 직접 고치므로 되돌려집니다. 뒤에서 도는 방식은 안 됩니다 — 그리고 뒤에서 도는 쪽이 기본값이라고 적혀 있습니다.

Q. 대화를 지웠는데 되돌릴 수 있나요?

문서에 이전 세션으로 돌아가는 항목이 목록 맨 위에 뜬다고 나옵니다. 다만 특정 버전 이상에서만 되고, 프로그램을 끄거나 다른 세션을 열면 사라집니다.

📌 보탬 (8월 14일) — 그 스냅샷도 30일 뒤에 사라집니다

이 글에서 되돌리기가 최근 100개 체크포인트만 보관한다고 썼는데, 보관 기간 쪽 조건도 확인했습니다. 스냅샷이 저장되는 file-history/기본 30일 뒤 자동 삭제 대상입니다. 즉 개수와 날짜 두 가지 한계가 동시에 걸립니다. 게다가 그 정리 작업 자체가 설정을 못 읽으면 멈춰 있을 수도 있습니다 → 대화는 30일 뒤 지워지는데 프롬프트는 안 지워집니다

✨ 정리하면

질문마다 자동 저장되고 코드만·대화만 골라서 되돌릴 수 있습니다. 여기까지는 편합니다.

다만 명령어로 지운 파일, 뒤에서 도는 에이전트가 고친 것, 다른 세션이 건드린 것은 안 잡힙니다. 링크된 파일은 건너뛰고 경고만 뜹니다.

작업 시작 전에 커밋 한 번. 다섯 가지를 다 덮는 건 그것뿐입니다.

🔗 같이 보면 좋은 글


확인 시점 — 2026년 8월 14일. ✅ 1차 확인 : Claude Code 공식 문서의 체크포인트 페이지 원문 직접 열람 — 자동 저장 시점과 100개 보관, 되돌리기 메뉴의 선택지, 30일 보관과 세션 재개 시 사용 가능 여부, 「제한 사항」 절의 다섯 항목(명령어 변경 미추적·서브에이전트 편집·외부 변경·링크 파일 건너뜀·버전 관리 대체 아님), 건너뜀 경고 문구와 디버그 로그 확인 방법. 인용한 영문은 원문 그대로입니다. 확인하지 않은 것 : 실제로 되돌려본 동작 검증 · 버전별 차이(본문에서 버전 조건이 붙는 항목은 그렇게 표기) · 다른 AI 코딩 도구의 되돌리기 범위 · 건너뛴 파일을 복구하는 구체 절차. 도구와 문서는 자주 바뀝니다. 중요한 작업 전에는 버전 관리로 커밋해두시길 권합니다. 제휴·협찬 없습니다.

반응형
Comments