# Git 용어 사전 (클라우드 비유)

모든 스킬에서 참조하는 공유 용어집. 비개발자가 이미 아는 클라우드 공유 폴더(Google Drive, Dropbox, iCloud) 경험에 빗대어 설명한다.

## 핵심 용어

| Git 용어 | 한국어 병기 | 클라우드 비유 | 한 줄 설명 |
|----------|------------|-------------|-----------|
| Repository | 프로젝트 폴더 | 공유 드라이브의 폴더 | 프로젝트의 모든 파일과 변경 기록이 담긴 폴더 |
| Commit | 저장하기 | 파일을 포장해서 라벨 붙이기 | 변경 내용을 묶어서 설명과 함께 기록하는 것 |
| Push | 올리기 | 포장한 파일을 클라우드에 보내기 | 내 컴퓨터의 저장 기록을 GitHub에 올리는 것 |
| Pull | 내려받기 | 클라우드에서 최신 파일 가져오기 | GitHub의 최신 내용을 내 컴퓨터로 가져오는 것 |
| Branch | 작업 공간 | 개인 작업방에서 연습하기 | 원본에 영향 없이 작업할 수 있는 별도 공간 |
| Pull Request (PR) | 검토 요청 | Google Docs "수정 제안" | "이렇게 바꾸면 어떨까요?" 하고 제안하는 것 |
| Clone | 복사하기 | 공유 폴더를 내 컴퓨터에 복사 | GitHub의 프로젝트를 내 컴퓨터로 가져오는 것 |
| Stage (git add) | 포장하기 | 보낼 파일을 상자에 넣기 | 저장할 파일을 골라 담는 것 |
| Merge | 합치기 | 수정 제안을 원본에 반영하기 | 별도 작업 공간의 내용을 원본에 합치는 것 |
| Conflict | 충돌 | 두 사람이 같은 부분을 동시에 고침 | 같은 파일의 같은 부분을 다르게 수정해서 자동 합치기가 안 되는 상태 |

## 클라우드 비유 매핑

| 이미 아는 것 | Git 대응 | 차이점 |
|-------------|---------|--------|
| 드라이브 앱 설치 | git + gh 설치 | 동일 |
| 구글 계정 로그인 | GitHub 계정 연결 | 동일 |
| 공유 폴더 만들기 | Repository 만들기 | 동일 |
| 파일 수정하면 자동 동기화 | **자동 아님!** 직접 저장+올리기 | **핵심 차이** |
| 파일 버전 기록 | Commit history | 비슷하지만 수동 |
| Google Docs "수정 제안" | Pull Request | 비슷 |

> **주의**: Google Drive처럼 자동 동기화된다고 오해하면 Push 안 해서 작업을 잃을 수 있다. 반드시 "포장해서 보내기" — 의도적 행동이라는 점을 강조할 것.

## 자주 묻는 질문 (FAQ)

### Q: Commit이랑 Push 차이가 뭐예요?
**Commit (저장하기)**: 파일을 포장해서 라벨을 붙이는 거예요. 아직 내 컴퓨터에만 있어요.
**Push (올리기)**: 포장한 걸 택배로 보내는 거예요. GitHub 클라우드에 올라가서 다른 사람도 볼 수 있어요.

### Q: Branch가 뭐예요?
안전한 개인 작업 공간이에요. 여기서 마음껏 수정해도 원본에 영향이 없어요. Google Docs에서 "수정 제안" 모드로 편집하는 것과 비슷해요.

### Q: Pull Request(PR)가 뭐예요?
"이거 확인해주세요" 하고 보내는 검토 요청이에요. 내가 바꾼 내용을 팀원이 확인하고, 괜찮으면 원본에 반영해요.

### Q: 왜 저장을 두 번 해야 해요? (Commit + Push)
Google Drive는 파일을 수정하면 자동으로 클라우드에 올라가지만, Git은 다릅니다:
1. **Commit (저장)**: "이만큼 했어요" 하고 체크포인트를 만드는 것
2. **Push (올리기)**: 체크포인트를 클라우드에 보내는 것

이렇게 나눈 이유는 인터넷 없이도 작업할 수 있고, 준비된 것만 골라서 올릴 수 있기 때문이에요.

### Q: Conflict(충돌)가 나면 어떡해요?
두 사람이 같은 파일의 같은 부분을 동시에 고쳤을 때 생겨요. 걱정 마세요 — 깃선생이 "내 거 유지" 또는 "상대방 거 유지" 중에 고르게 해드릴게요.

### Q: .gitignore가 뭐예요?
"이 파일은 무시해줘" 목록이에요. 비밀번호 파일이나 임시 파일처럼 공유하면 안 되는 것들을 여기에 적어두면 Git이 알아서 빼고 저장해요.

## 용어 표시 규칙

- 영어 용어를 기본으로 유지한다 (GitHub UI가 영어이므로)
- 처음 등장할 때 한국어 병기: "Commit (저장하기)"
- 이후에는 영어만 사용해도 됨
- 비유를 덧붙일 때: "파일을 포장해서 라벨 붙이기"
