Day 4 — Git/GitHub + 개발환경 세팅
오늘의 목표
- Git이 "작업 기록 저장 + 되돌리기 장치"임을 이해한다
- GitHub에 내 프로젝트 저장소를 만든다
- 프로젝트 폴더 구조를 잡고 첫 커밋을 올린다
준비물: 명세서 + ERD + API 명세 / 노트북, GitHub 계정
0. 복습 — 지금까지 우리는
명세서(무엇을) → ERD(무엇을 저장) → API 명세(어떻게 주고받을지)까지 설계를 끝냈습니다. 오늘부터는 실제로 코드를 쌓을 집터를 닦습니다.
1. Git이란? — 게임 세이브 파일
Git = 코드의 변경 이력을 저장하고, 언제든 과거로 되돌릴 수 있는 도구
게임의 세이브 포인트를 떠올리세요. 보스전 전에 저장(커밋)해두면, 죽어도 그 지점부터 다시 합니다. 코드도 똑같습니다. "여기까진 잘 됐다" 싶을 때 저장해두면, 나중에 망가져도 돌아올 수 있습니다.
Git이 없으면 생기는 일
최종.py
최종_진짜최종.py
최종_이번엔진짜.py
최종_제발.py
이런 파일 만들어본 적 있죠? Git은 이걸 깔끔하게 해결합니다. 파일은 하나, 이력은 전부 기록됩니다.
2. 핵심 용어 4개만
| 용어 | 뜻 | 비유 |
|---|---|---|
| repository (저장소/레포) | 프로젝트 전체를 담는 공간 | 프로젝트 폴더 |
| commit (커밋) | 변경사항을 저장하는 행위 | 게임 세이브 |
| push (푸시) | 내 커밋을 GitHub에 올리기 | 클라우드 백업 |
| branch (브랜치) | 작업을 분리하는 갈래 | 평행세계 |
💡 지금은 commit / push 만 제대로 익혀도 충분합니다. 브랜치는 Day 12 협업 파트에서 깊게 다룹니다.
3. 실습 — GitHub 저장소 만들고 연결하기
따라 하세요. 한 줄씩.
① GitHub에서 저장소 생성
- github.com 로그인 → 우측 상단
+→ New repository - Repository name: 프로젝트 이름 (예:
my-todo-app) - Private 선택 (혼자 보다가 나중에 공개로 바꿔도 됨)
- Add a README file 체크
- Add .gitignore → 본인 언어 선택 (예: Node, Python)
- Create repository 클릭
💡 .gitignore가 뭐예요? GitHub에 올리면 안 되는 파일(비밀번호, 설치 폴더 등)을 자동으로 빼주는 목록입니다. 꼭 추가하세요.
② 내 컴퓨터로 가져오기 (clone)
저장소 페이지의 초록 Code 버튼 → HTTPS 주소 복사 후, 터미널에서:
# 작업할 폴더로 이동 후
git clone https://github.com/내아이디/my-todo-app.git
cd my-todo-app
③ 기본 폴더 구조 만들기
풀스택이니 프론트/백엔드를 나눕니다. (스택에 따라 조정)
my-todo-app/
├── README.md ← 프로젝트 설명
├── .gitignore ← 올리면 안 되는 파일 목록
├── backend/ ← 서버 코드
│ └── (여기에 백엔드)
├── frontend/ ← 화면 코드
│ └── (여기에 프론트)
└── docs/ ← 설계 문서 모음
├── spec.md ← Day1 명세서
├── erd.md ← Day2 ERD
└── api.md ← Day3 API 명세
💡 지금까지 만든 설계 문서 3개를
docs/에 넣으세요. 프로젝트 안에 두면 나중에 AI에게 "docs 보고 코드 짜줘"라고 시키기도 좋습니다.
4. 커밋과 푸시 — 첫 저장
가장 많이 쓰는 4줄입니다. 외워두세요.
git add . # 변경된 파일 전부 담기
git commit -m "프로젝트 구조 및 설계 문서 추가" # 저장 (메시지 필수)
git push # GitHub에 올리기
git status # 지금 상태 확인 (수시로!)
좋은 커밋 메시지 쓰는 법
✅ "로그인 API 구현"
✅ "할 일 목록 화면 추가"
✅ "마감일 정렬 버그 수정"
❌ "ㅁㄴㅇㄹ"
❌ "수정"
❌ "asdf"
💡 규칙: "무엇을 했는지"를 한 줄로. 나중에 과거로 돌아갈 때 이 메시지가 이정표가 됩니다.
커밋은 얼마나 자주?
"의미 있는 작업 하나가 끝날 때마다." 너무 자주도, 너무 가끔도 아닌, "되돌리고 싶은 단위" 로 끊으세요. 보통 하루에 여러 번 합니다.
5. 개발환경 점검
본인 스택에 맞게 설치되어 있는지 확인하세요.
# 예시 — 본인 스택에 맞게
node -v # Node.js 버전 확인
python --version
git --version
- 코드 에디터 설치 (VS Code 등)
- 본인 백엔드 언어/런타임 설치
- 데이터베이스 설치 또는 클라우드 DB 준비
- AI 코딩 도구 준비 (바이브코딩용)
⚠️ 환경 세팅에서 막히는 건 정상입니다. 에러 메시지를 그대로 복사해서 AI에게 물어보세요 — 이것도 중요한 실전 스킬입니다.
6. 오늘의 체크리스트
- Git이 "기록·되돌리기 장치"임을 이해했다
- commit / push의 차이를 안다
- GitHub에 내 저장소를 만들었다
- 폴더 구조를 잡고 설계 문서 3개를 docs/에 넣었다
- 첫 커밋을 push 했다 ← 가장 중요!
- 개발환경(에디터·언어·DB)이 준비됐다
7. 다음 시간 예고
Day 5 — 바이브코딩 입문 + 프롬프트 전략
- AI에게 코드를 "제대로" 시키는 법을 배웁니다
- 좋은 프롬프트 / 생성된 코드 검토법 / 막혔을 때 대처
- 준비물: 세팅 완료된 내 프로젝트 저장소
📌 숙제: GitHub 저장소 주소를 멘토에게 공유하세요. 다음 시간부터 여기에 실제 코드가 쌓입니다.
오늘부로 집터가 생겼습니다. 이제 벽돌(코드)을 쌓을 차례입니다. 🧱