스냅샷 버전 관리

Git을 사용하지 않아도 프로젝트의 전체 상태를 저장하고 복원할 수 있는 ProjectHub의 스냅샷 시스템입니다.

개요

스냅샷은 프로젝트의 전체 파일을 ZIP 파일로 압축하여 저장하는 간단하고 직관적인 버전 관리 방식입니다. Git의 커밋과 유사하지만, 별도의 설정이나 명령어 없이 버튼 클릭만으로 사용할 수 있습니다.

Git과의 차이점

항목스냅샷Git
학습 곡선매우 낮음 (버튼 클릭)높음 (CLI 명령어)
저장 방식전체 파일 ZIP 압축차이(diff) 기반
용량프로젝트 크기에 비례효율적 (차이만 저장)
브랜치없음 (선형 타임라인)지원
협업로컬 전용원격 저장소 지원
적합한 경우빠른 백업, AI 코드 생성 전팀 협업, 장기 프로젝트

💡 Git과 스냅샷은 동시에 사용할 수 있습니다. 스냅샷은 .projecthub/snapshots/ 폴더에 저장되므로 .gitignore에 추가하는 것을 권장합니다.

스냅샷 생성

수동 생성

  1. 프로젝트 상세 뷰에서 스냅샷 탭을 선택합니다
  2. 새 스냅샷 버튼을 클릭합니다 (또는 헤더의 카메라 아이콘)
새 스냅샷 버튼
  1. 스냅샷 메모를 입력합니다 (선택사항이지만 권장)
- 예: "로그인 기능 구현 완료", "API 엔드포인트 추가 전"
스냅샷 생성 시트
  1. 저장 버튼을 클릭합니다
  2. 스냅샷 목록에 새 항목이 추가됩니다

자동 생성

ProjectHub는 다음 상황에서 자동으로 스냅샷을 생성합니다:

상황설명
AI Agent 실행 전Vibe Coding에서 AI가 코드를 생성하기 전에 현재 상태를 자동 백업
Avalon3 구현 전Avalon3가 코드를 생성하기 전에 자동 백업
Alliance 구현 전Alliance 워크플로우의 Implementation 단계 전에 자동 백업
스냅샷 복원 전복원 작업 전에 현재 상태를 자동 백업 (안전장치)

💡 자동 스냅샷은 "AI Agent 실행 전 자동 백업" 등의 메모가 자동으로 붙습니다.

스냅샷 목록

스냅샷 목록

스냅샷 목록에서 각 항목은 다음 정보를 표시합니다:

  • 생성 일시 — 스냅샷이 생성된 날짜와 시간
  • 메모 — 사용자가 입력한 설명
  • 파일 크기 — ZIP 파일 크기
  • 자동/수동 표시 — 자동 생성된 스냅샷에는 배지 표시

스냅샷 복원

이전 상태로 프로젝트를 되돌리는 방법입니다:

  1. 스냅샷 목록에서 복원할 스냅샷을 선택합니다
  2. 복원 버튼을 클릭합니다
  3. 확인 다이얼로그가 나타납니다
복원 확인 다이얼로그
  1. 복원을 클릭하여 진행합니다

⚠️ 주의: 복원 시 현재 프로젝트의 모든 파일이 스냅샷 시점의 상태로 덮어씌워집니다. 현재 작업 내용이 필요하다면 반드시 복원 전에 새 스냅샷을 먼저 생성하세요. (자동 백업이 활성화되어 있다면 자동으로 생성됩니다)

복원 과정

  1. 현재 상태 자동 백업 (안전장치)
  2. 기존 프로젝트 파일 제거
  3. 선택한 스냅샷 ZIP 파일 압축 해제
  4. 프로젝트 디렉토리에 파일 복원
  5. 복원 완료 알림

스냅샷 삭제

불필요한 스냅샷을 삭제하여 저장공간을 확보할 수 있습니다:

  1. 스냅샷 목록에서 삭제할 항목을 선택합니다
  2. 삭제 버튼을 클릭합니다
  3. 확인 다이얼로그에서 승인합니다

⚠️ 삭제된 스냅샷은 복구할 수 없습니다.

저장 위치와 구조

스냅샷은 프로젝트 디렉토리 내 .projecthub/snapshots/ 폴더에 ZIP 파일로 저장됩니다:

{프로젝트}/
└── .projecthub/
    └── snapshots/
        ├── snapshot_2025-01-15_14-30-00.zip    # 수동 스냅샷
        ├── snapshot_2025-01-15_16-45-00.zip    # AI Agent 자동 백업
        ├── snapshot_2025-01-16_09-00-00.zip    # 복원 전 자동 백업
        └── ...

파일 이름 규칙

스냅샷 파일명은 snapshot_YYYY-MM-DD_HH-MM-SS.zip 형식으로 생성 시점의 타임스탬프가 포함됩니다.

저장공간 관리

  • 스냅샷은 프로젝트 전체 파일을 포함하므로 프로젝트 크기에 비례하여 용량을 차지합니다
  • 큰 프로젝트(수 GB)의 경우 스냅샷도 그에 비례하여 커집니다
  • 오래된 스냅샷은 주기적으로 정리하는 것을 권장합니다
  • node_modules, build 등 재생성 가능한 폴더는 스냅샷에서 제외하는 것이 좋습니다

활용 시나리오

AI 코드 생성 전 백업

AI Agent가 코드를 대량으로 생성하기 전에 스냅샷이 자동으로 생성됩니다. AI가 생성한 코드가 마음에 들지 않으면 스냅샷으로 즉시 복원할 수 있습니다.

실험적 변경 전 백업

새로운 기능을 시도하거나 대규모 리팩토링 전에 수동으로 스냅샷을 생성하면, 실패 시 안전하게 이전 상태로 돌아갈 수 있습니다.

마일스톤 기록

프로젝트의 중요한 시점(기능 완성, 릴리스 전 등)에 메모와 함께 스냅샷을 생성하면 프로젝트 히스토리를 관리할 수 있습니다.

다음 단계