L1 입문

Git 완전 정복

버전 관리의 기초부터 PR·CICD·내부 원리까지.

22챕터
1부(部)
4시간총 분량
첫 챕터 시작 →

챕터

개요

초급 개발자를 위한 Git 안내도서
버전 관리의 기초부터 협업, 브랜치 전략, 되돌리기, 배포 관리까지

📖 이 책은 누구를 위한 책인가요?

이 책은 Git을 처음 배우는 초급 개발자를 대상으로 합니다. 다음과 같은 분들에게 적합합니다.

  • 버전 관리가 무엇인지조차 들어본 적 없는 입문자
  • git commit, git push는 따라 쳐봤지만 "왜" 그렇게 하는지 모르는 분
  • 명령어(CLI)와 GUI 도구(소스트리)를 함께 익히고 싶은 분
  • 협업 중 충돌(conflict)이 무서워서 Git을 피하고 있던 분
💡 팁
모든 개념은 "일상의 비유 → 개념 설명 → 명령어 → 실습 예제 → 흔한 실수" 순서로 설명합니다. 외우지 말고 이해하세요.

🧰 학습 환경

항목버전/도구비고
Git2.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-기초개념.mdGit이란 무엇인가버전 관리의 의미, Git의 특징, 분산 버전 관리
02_설치및환경설정.md설치 및 환경설정OS별 설치, 소스트리, 사용자 설정
03_깃-저장소.mdGit 저장소저장소 개념, .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_리셋과리버트.mdReset & Revertsoft/mixed/hard, revert, reflog 복구

4부 — 배포 관리

파일섹션핵심 내용
11_태그와배포.md태그(Tag)버전 태그, annotated/lightweight, 공유, 원격 관리

5부 — GitHub 협업과 자동화

파일섹션핵심 내용
12_GitHubCLI.mdGitHub CLI (gh)인증, repo/pr/issue/release/run, 별칭, API
13_CICD.mdCI/CD (GitHub Actions)워크플로우 YAML, 이벤트, 잡/스텝, 시크릿, 매트릭스, 배포

6부 — 심화: 원리와 협업 깊이 들어가기

파일섹션핵심 내용
14_Git내부원리.mdGit 내부 원리객체(blob/tree/commit), SHA-1 해시, hash-object/cat-file
15_셸명령어기초.md셸 명령어 기초디렉터리/파일 관리, grep/find, 파이프
16_PullRequest심화.mdPull Request 심화PR 흐름, 리뷰, 병합 방식, 보호 브랜치, 이슈
17_포크와오픈소스기여.md포크와 기여fork, origin/upstream, 동기화, 오픈소스 PR
18_고급명령모음.md고급 명령cherry-pick, amend, squash, detached HEAD, log 고급, GC

7부 — 자동화와 배포 심화

파일섹션핵심 내용
19_Git훅.mdGit 훅(Hooks)pre-commit, husky, lint-staged, commitlint
20_GitHubPages.mdGitHub Pages정적 사이트 배포, React 배포, SSH, 커스텀 도메인

부록

파일내용
98_부록-기초용어사전.md보편 기술 용어 사전 (JSON·HTTP·SSH·API 등 + 첫 등장 장 링크)
99_부록-치트시트.md명령어 치트시트, 협업 워크플로우, 트러블슈팅, Git 용어집, 안전 수칙

🗺️ 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의 거의 전부입니다. 책을 다 읽고 나면 이 그림이 완벽하게 이해될 것입니다.

✅ 학습 방법 권장

  1. 순서대로 읽으세요. 각 섹션은 앞 내용을 전제로 합니다.
  2. 명령어는 반드시 직접 타이핑하세요. 눈으로만 보면 손이 기억하지 못합니다.
  3. 실습 예제는 빈 폴더(git-practice)를 하나 만들어 따라 하세요.
  4. "흔한 실수" 박스는 나중에 겪을 문제를 미리 보는 것입니다. 꼭 읽으세요.
  5. 처음 보는 약어가 나와도 걱정 마세요. 본문에 처음 등장하는 자리에 풀이가 함께 있고, 한눈에 다시 찾고 싶으면 기초 용어 사전(JSON·HTTP·SSH 등 보편 용어)과 치트시트의 Git 용어집을 참고하면 됩니다.
🎯 목표: 이 책을 끝내면 혼자서 저장소를 만들고, 팀원과 협업하고, 실수를 되돌리고, 버전을 배포할 수 있게 됩니다.

본 문서는 Git 공식 문서(git-scm.com), Pro Git(Scott Chacon & Ben Straub), GitHub 공식 가이드를 참고하여 작성되었습니다.