# 백업과 이력 관리
코딩하다 보면 "아까 그거 어떻게 했더라?" 하고 되돌아가고 싶을 때가 있죠. 여러분의 프로젝트는 **모든 변경 기록**을 자동으로 저장하고 있습니다. 마치 무한 되돌리기(Ctrl+Z) 기능처럼요!
---
## 핵심 개념: 코드에도 "히스토리"가 있다
### 문서 버전 관리와 비슷해요
```
┌──────────────────────────────────────────────────────────┐
│ │
│ 워드 문서 코드 프로젝트 │
│ │
│ "보고서_최종.docx" → 커밋 1: 초기 설정 │
│ "보고서_진짜최종.docx" → 커밋 2: 로고 변경 │
│ "보고서_최최종.docx" → 커밋 3: 메뉴 추가 │
│ "보고서_제발최종.docx" → 커밋 4: 색상 수정 │
│ │
│ 파일이 무한 증식 깔끔하게 기록됨 │
│ │
└──────────────────────────────────────────────────────────┘
```
Git이라는 도구가 여러분 대신 모든 버전을 **자동으로 정리**해서 보관합니다.
---
## "저장 포인트" 만들기 (커밋)
게임에서 세이브 포인트를 만들듯, 코드에도 **저장 포인트**를 만들 수 있습니다.
### AI에게 요청하는 방법
```
지금까지 한 거 저장해줘
```
```
여기까지 작업한 거 커밋해줘. 메시지는 "로고 변경"으로
```
```
배포 전에 현재 상태 저장해둬
```
### ⚠️ 저장만으로는 부족 — GitHub에 백업 필수
커밋(`commit`)은 **내 컴퓨터(또는 Codespace) 안에만** 저장됩니다. GitHub에도 올려두려면 **푸시(`push`)** 해야 합니다.
**왜 중요한가요?**
GitHub Codespaces를 사용 중이면 Codespace를 삭제하는 순간 **푸시하지 않은 작업이 모두 사라집니다.** 푸시는 GitHub 클라우드에 사본을 만들어 안전하게 보관합니다.
**매일 작업 끝에 이렇게 요청하세요:**
```
오늘 작업 커밋하고 GitHub에 푸시해줘
```
```
지금까지 한 거 정리해서 백업까지 올려둬
```
에이전트가 자동으로 `git commit` + `git push`를 수행해 GitHub 내 레포에 백업합니다.
> **워크숍 규율**: 매일 작업 끝나면 푸시 → Codespace는 절대 삭제하지 않기. 이 두 가지를 지키면 작업이 사라질 일 없습니다.
### 왜 저장 포인트가 중요할까요?
```
┌─────────────────────────────────────────────────────────────┐
│ │
│ 저장 포인트 없이 저장 포인트 있으면 │
│ │
│ 뭔가 잘못됨 뭔가 잘못됨 │
│ "어디서부터 "저장 포인트로 │
│ 잘못된 거지?" 돌아가자!" │
│ │
│ 처음부터 다시 5분 전으로 복구 │
│ │
└─────────────────────────────────────────────────────────────┘
```
**팁**: 큰 작업 전에는 항상 저장 포인트를 만들어 두세요!
---
## 과거로 돌아가기
### 방금 한 거 되돌리기
```
방금 변경한 거 되돌려줘
```
```
마지막 커밋 취소해줘
```
### 특정 시점으로 돌아가기
```
어제 오후 상태로 돌아가줘
```
```
"로고 변경" 하기 전 상태로 복구해줘
```
```
3일 전 버전으로 되돌려줘
```
### 특정 파일만 되돌리기
```
index.astro 파일만 어제 버전으로 되돌려줘
```
```
홈페이지만 수정 전으로 복구하고, 다른 건 그대로 둬
```
---
## 과거 탐색하기
무언가 잘 작동했는데 언제부터 안 되기 시작했는지 모를 때, 과거를 탐색할 수 있습니다.
### 변경 히스토리 보기
```
최근에 뭘 바꿨는지 보여줘
```
```
이번 주에 수정한 파일 목록 알려줘
```
```
홈페이지 파일이 언제 어떻게 변경됐는지 히스토리 보여줘
```
### 과거 버전 확인하기
```
일주일 전에 이 파일 어떻게 생겼었어?
```
```
"메뉴 추가" 커밋 때 header.astro가 어땠는지 보여줘
```
### 변경 비교하기
```
어제 버전이랑 지금이랑 뭐가 달라졌는지 비교해줘
```
```
홈페이지가 지난주랑 어떻게 달라졌는지 알려줘
```
---
## 실전 시나리오
### 시나리오 1: "뭔가 고장났는데 언제부터인지 모르겠어요"
```
사용자: 예약 버튼이 언제부턴가 안 돼. 언제 고장났는지 찾아줘
AI: 히스토리를 확인해보겠습니다.
- 1월 20일: 예약 버튼 정상 동작 확인
- 1월 21일: 헤더 수정 커밋 - 여기서 버튼 클래스가 변경됨
1월 21일 수정에서 문제가 발생한 것 같습니다.
해당 변경을 되돌릴까요?
```
### 시나리오 2: "예전에 만들었던 거 다시 쓰고 싶어요"
```
사용자: 2주 전에 만들었다가 지운 배너 디자인 다시 살려줘
AI: 히스토리를 확인해보니 1월 10일에 삭제된 배너 컴포넌트가 있습니다.
해당 버전의 코드를 복구할까요?
```
### 시나리오 3: "큰 작업 전에 안전하게"
```
사용자: 전체 디자인을 바꿔볼 건데, 혹시 마음에 안 들면 돌아올 수 있게 해줘
AI: 현재 상태를 "디자인 변경 전 백업"으로 저장해두겠습니다.
작업 후 마음에 안 드시면 "백업으로 돌아가줘"라고 하시면 됩니다.
이제 디자인 작업을 시작할까요?
```
---
## 자주 쓰는 요청 모음
### 저장하기
| 요청 | 용도 |
|------|------|
| "지금까지 한 거 저장해줘" | 현재 상태 저장 |
| "배포 전에 백업해둬" | 안전하게 저장 포인트 생성 |
| "오늘 작업 정리하고 저장해줘" | 하루 마무리 |
### 되돌리기
| 요청 | 용도 |
|------|------|
| "방금 거 취소해줘" | 직전 변경 되돌리기 |
| "어제 상태로 돌아가줘" | 특정 시점으로 복구 |
| "이 파일만 원래대로" | 특정 파일만 복구 |
### 탐색하기
| 요청 | 용도 |
|------|------|
| "최근 변경 내역 보여줘" | 히스토리 확인 |
| "이 파일 언제 바뀌었어?" | 파일별 히스토리 |
| "뭐가 달라졌는지 비교해줘" | 버전 비교 |
---
## 팁
### 1. 작업 전에 저장 포인트를 만드세요
```
"큰 변경 시작하기 전에 지금 상태 저장해줘"
```
특히 이런 때:
- 디자인 대폭 수정 전
- 새 기능 추가 전
- 배포 전
- 퇴근 전
### 2. 저장 포인트에 이름을 붙이세요
```
나쁜 예: "저장해줘"
좋은 예: "로고 변경 완료로 저장해줘"
```
나중에 찾기 훨씬 쉬워요!
### 3. 무서워하지 마세요
모든 변경이 기록되니까, **실험을 두려워하지 마세요**.
잘못되면 언제든 돌아갈 수 있습니다.
```
"일단 해보고, 별로면 되돌리자" 마인드로!
```
---
## 용어 정리 (알면 좋지만 몰라도 됩니다)
| 쉬운 말 | 기술 용어 | 의미 |
|--------|---------|------|
| 저장 포인트 | 커밋 (Commit) | 변경 사항을 기록하는 것 |
| 히스토리 | 로그 (Log) | 모든 저장 포인트 목록 |
| 되돌리기 | 리버트 (Revert) | 이전 상태로 복구 |
| 변경 비교 | 디프 (Diff) | 두 버전의 차이점 |
**AI에게 요청할 때는 쉬운 말로 해도 됩니다!**
AI가 알아서 적절한 명령으로 바꿔줍니다.
---
## 관련 콘텐츠
- 🎯 **직원 투어**: 관리자 패널에서 **설정** 투어를 시작하세요
버전 관리를 활용하면:
- 안전하게 실험할 수 있습니다
- 실수해도 복구할 수 있습니다
- 과거 작업을 참고할 수 있습니다
더 궁금한 점은 AI에게 물어보세요:
```
"버전 관리로 뭘 더 할 수 있어?"
```