2단계
2단계 — Git 첫 커밋
0회 조회
2단계 — Git 첫 커밋
"한 달 전 버전으로 되돌리기" · "친구와 같이 편집" · "내 코드 안전 보관" 세 가지를 동시에 해결하는 도구가 Git 입니다.
1. Git 은 무엇을 저장하나?
폴더의 스냅샷 (그 시점 파일 상태 전체) 를 저장. 커밋 하나 = 스냅샷 하나.
t0: README.md "안녕"
t1: README.md "안녕 세상" ← 커밋 1
t2: README.md "안녕 세상!" ← 커밋 2
각 커밋은 이전 커밋의 해시를 참조해 체인을 이룹니다.
2. 설치
# Windows
winget install Git.Git
# macOS
brew install git
# Linux
sudo apt install git
버전 확인:
git --version # 2.40+
3. 첫 설정 (1회)
git config --global user.name "홍길동"
git config --global user.email "hong@example.com"
git config --global init.defaultBranch main
git config --global core.autocrlf input # (Windows) 줄바꿈 자동 처리
커밋 기록에 이름 · 이메일이 붙으므로 실명 · 실제 이메일 권장.
4. 첫 저장소
mkdir my-first-repo
cd my-first-repo
git init
.git/ 숨김 폴더가 생겨 버전 이력을 보관.
5. 3 단계 영역
작업 트리 (Working Tree) → 스테이지 (Stage) → 저장소 (Repository)
파일 수정 중 add 한 변경 commit 완료
- 수정 — 아직 Git 관점에서는 "변경 감지만"
- add — "이 변경을 다음 커밋에 포함"
- commit — 스냅샷 완성
echo "# 내 프로젝트" > README.md
git status # 변경 감지
git add README.md # 스테이지로
git status # 스테이지 확인
git commit -m "docs: 첫 README"
git log # 이력 확인
6. 기본 10 개 명령
git status # 현재 상태
git diff # 수정 중 내용 비교
git diff --staged # 스테이지 내용 비교
git add . # 모든 변경 스테이지 (신중히)
git commit -m "메시지"
git log --oneline # 간단 이력
git log --graph --oneline # 브랜치 그래프
git branch # 브랜치 목록
git checkout -b feature-x # 새 브랜치로 이동
git merge feature-x # 현재 브랜치에 병합
7. 브랜치 — 평행 세계
한 파일에 여러 사람이 동시에 작업하려면 브랜치 필수.
git checkout -b fix-login
# ... 코드 수정 ...
git add .
git commit -m "fix: 로그인 버그"
git checkout main
git merge fix-login
브랜치는 "main 의 특정 시점에서 가지치기한 또 다른 스냅샷 줄기".
8. GitHub 연결
GitHub 에 새 저장소 (빈 상태) 생성 후:
git remote add origin https://github.com/사용자/저장소.git
git push -u origin main
이후부터는 git push 만.
9. 협업 기본 사이클
git pull # 원격 최신 내려받기
git checkout -b fix-x # 내 브랜치
# ... 작업 ...
git add . && git commit -m "fix: X"
git push -u origin fix-x
# GitHub UI 에서 Pull Request 생성
Pull Request 에 대해 코드리뷰 → 승인 → Merge.
10. 커밋 메시지 규칙
한 줄 제목 + (선택) 빈 줄 + 본문.
feat: 회원가입 페이지 추가
- 이메일 · 비밀번호 입력
- 서버에 POST /api/signup
- 로딩 · 에러 상태 처리
태그 예:
feat새 기능fix버그 수정docs문서refactor리팩터test테스트chore설정 · 의존성
11. 되돌리기 · 복구
# 최근 커밋 메시지 수정
git commit --amend -m "새 메시지"
# 실수로 add 한 파일 취소
git restore --staged 파일
# 수정 내용 버리기 (주의)
git restore 파일
# 최근 커밋 취소 (변경은 유지)
git reset HEAD~1
reset --hard 는 변경도 삭제. 초보자는 피하세요.
12. .gitignore — 안 올릴 파일 목록
# .gitignore
node_modules/
.next/
.env
.env.local
*.log
dist/
build/
.DS_Store
.env 처럼 비밀이 들어간 파일, 생성되는 폴더 (node_modules/) 는 절대 올리지 마세요.
13. 자주 걸리는 자리
- 실수로
.env커밋 — 히스토리에서 제거 어려움. 시크릿 즉시 교체 권장 git push시 패스워드 안 됨 — GitHub 은 PAT (Personal Access Token) 사용 · SSH 키 권장- merge conflict — 한 파일을 여러 브랜치가 수정. 수동 해결 후
git add+commit - 이상한 상태 —
git reflog로 모든 HEAD 이동 확인 → 복구 가능
하고픈 말
Git 은 기본 10 개 명령만 익히면 실무 80% 를 감당합니다. 나머지는 필요할 때 찾아 배워도 늦지 않습니다. 처음에는 git status 를 습관화하세요.
Next
- 03-vscode
Pro Git Book (무료) · GitHub Skills · Oh Shit, Git!?! 를 참고합니다.