L1 입문
Git 완전 정복
버전 관리의 기초부터 PR·CICD·내부 원리까지.
첫 챕터 시작 →
챕터
개요
초급 개발자를 위한 Git 안내도서
버전 관리의 기초부터 협업, 브랜치 전략, 되돌리기, 배포 관리까지
📖 이 책은 누구를 위한 책인가요?
이 책은 Git을 처음 배우는 초급 개발자를 대상으로 합니다. 다음과 같은 분들에게 적합합니다.
- 버전 관리가 무엇인지조차 들어본 적 없는 입문자
git commit, git push는 따라 쳐봤지만 "왜" 그렇게 하는지 모르는 분
- 명령어(CLI)와 GUI 도구(소스트리)를 함께 익히고 싶은 분
- 협업 중 충돌(conflict)이 무서워서 Git을 피하고 있던 분
💡 팁
모든 개념은
"일상의 비유 → 개념 설명 → 명령어 → 실습 예제 → 흔한 실수" 순서로 설명합니다. 외우지 말고
이해하세요.
🧰 학습 환경
| 항목 | 버전/도구 | 비고 |
| Git | 2.54.0 (2026년 4월 기준) | 최신 안정 버전 |
| GUI 도구 | Sourcetree (소스트리) | 무료, Windows/macOS |
| 터미널 | Git Bash / macOS Terminal / Linux Shell | 모두 동일하게 동작 |
| 코드 에디터 | VS Code 권장 | Git 통합 기능 우수 |
⚠️ 흔한 실수
Git 3.0 안내 (2026년 말 예정): 곧 출시될 Git 3.0부터는 새 저장소의 기본 해시가 SHA-1에서
SHA-256으로, 브랜치 전환은
git checkout보다
git switch / git restore 사용이 권장됩니다. 이 책에서는 전통적인
checkout과 신규
switch/
restore를
모두 다룹니다.
📚 전체 커리큘럼 (20개 섹션 + 부록)
1부 — 기초 다지기
| 파일 | 섹션 | 핵심 내용 |
| 01_git-기초개념.md | Git이란 무엇인가 | 버전 관리의 의미, Git의 특징, 분산 버전 관리 |
| 02_설치및환경설정.md | 설치 및 환경설정 | OS별 설치, 소스트리, 사용자 설정 |
| 03_깃-저장소.md | Git 저장소 | 저장소 개념, .git 폴더, 워킹 디렉터리, 스테이지 |
| 04_커밋.md | 커밋(Commit) | add, commit, HEAD, diff, 로그, 메시지 |
| 05_원격저장소.md | 원격 저장소 | GitHub, remote, push/pull/fetch/clone |
2부 — 브랜치와 작업 흐름
| 파일 | 섹션 | 핵심 내용 |
| 06_브랜치.md | 브랜치 | branch, switch/checkout, HEAD 포인터, 원격 브랜치, 업스트림 |
| 07_스태시.md | 스태시(Stash) | 임시 저장, pop/apply, 충돌, 정리, git clean |
3부 — 합치기와 되돌리기
| 파일 | 섹션 | 핵심 내용 |
| 08_병합과충돌.md | 병합(Merge) | fast-forward, 3-way, 충돌 해결, --abort |
| 09_리베이스.md | 리베이스(Rebase) | rebase vs merge, 충돌, 대화형, 황금률 |
| 10_리셋과리버트.md | Reset & Revert | soft/mixed/hard, revert, reflog 복구 |
4부 — 배포 관리
| 파일 | 섹션 | 핵심 내용 |
| 11_태그와배포.md | 태그(Tag) | 버전 태그, annotated/lightweight, 공유, 원격 관리 |
5부 — GitHub 협업과 자동화
| 파일 | 섹션 | 핵심 내용 |
| 12_GitHubCLI.md | GitHub CLI (gh) | 인증, repo/pr/issue/release/run, 별칭, API |
| 13_CICD.md | CI/CD (GitHub Actions) | 워크플로우 YAML, 이벤트, 잡/스텝, 시크릿, 매트릭스, 배포 |
6부 — 심화: 원리와 협업 깊이 들어가기
| 파일 | 섹션 | 핵심 내용 |
| 14_Git내부원리.md | Git 내부 원리 | 객체(blob/tree/commit), SHA-1 해시, hash-object/cat-file |
| 15_셸명령어기초.md | 셸 명령어 기초 | 디렉터리/파일 관리, grep/find, 파이프 |
| 16_PullRequest심화.md | Pull Request 심화 | PR 흐름, 리뷰, 병합 방식, 보호 브랜치, 이슈 |
| 17_포크와오픈소스기여.md | 포크와 기여 | fork, origin/upstream, 동기화, 오픈소스 PR |
| 18_고급명령모음.md | 고급 명령 | cherry-pick, amend, squash, detached HEAD, log 고급, GC |
7부 — 자동화와 배포 심화
| 파일 | 섹션 | 핵심 내용 |
| 19_Git훅.md | Git 훅(Hooks) | pre-commit, husky, lint-staged, commitlint |
| 20_GitHubPages.md | GitHub Pages | 정적 사이트 배포, React 배포, SSH, 커스텀 도메인 |
부록
🗺️ Git 전체 그림 한눈에 보기
flowchart LR
WD["🖥️ 워킹 디렉터리<br/>Working Directory"]
SA["📦 스테이지<br/>Staging Area"]
LR["🗄️ 로컬 저장소<br/>Local Repo"]
RR["☁️ 원격 저장소<br/>Remote Repo"]
WD -- "git add" --> SA
SA -- "git commit" --> LR
LR -- "git push" --> RR
RR -- "git fetch / pull" --> LR
LR -- "git checkout / restore" --> WD
RR -. "git clone" .-> LR
classDef work fill:#fef3c7,stroke:#d97706,color:#92400e
classDef stage fill:#dbeafe,stroke:#2563eb,color:#1e40af
classDef local fill:#dcfce7,stroke:#16a34a,color:#166534
classDef remote fill:#f3e8ff,stroke:#9333ea,color:#6b21a8
class WD work
class SA stage
class LR local
class RR remote
이 한 장의 그림이 Git의 거의 전부입니다. 책을 다 읽고 나면 이 그림이 완벽하게 이해될 것입니다.
✅ 학습 방법 권장
- 순서대로 읽으세요. 각 섹션은 앞 내용을 전제로 합니다.
- 명령어는 반드시 직접 타이핑하세요. 눈으로만 보면 손이 기억하지 못합니다.
- 실습 예제는 빈 폴더(
git-practice)를 하나 만들어 따라 하세요.
- "흔한 실수" 박스는 나중에 겪을 문제를 미리 보는 것입니다. 꼭 읽으세요.
- 처음 보는 약어가 나와도 걱정 마세요. 본문에 처음 등장하는 자리에 풀이가 함께 있고, 한눈에 다시 찾고 싶으면 기초 용어 사전(JSON·HTTP·SSH 등 보편 용어)과 치트시트의 Git 용어집을 참고하면 됩니다.
🎯 목표: 이 책을 끝내면 혼자서 저장소를 만들고, 팀원과 협업하고, 실수를 되돌리고, 버전을 배포할 수 있게 됩니다.
본 문서는 Git 공식 문서(git-scm.com), Pro Git(Scott Chacon & Ben Straub), GitHub 공식 가이드를 참고하여 작성되었습니다.