한 줄 요약
작업 디렉터리·스테이징 영역·로컬 저장소라는 3단 구조를 축으로 커밋·브랜치·머지·리모트를 훑고, 설정·별칭·훅·.gitignore 같은 운영 습관까지 이어 붙인 교육 회사의 입문 해설 글이다.
핵심 내용
- 3단 구조 — 많은 버전 관리 시스템이 저장소와 작업 복사본의 2단 구조인 데 비해 Git은 변경 추적에 최적화된 3단 모델을 쓴다고 정리한다. 작업 디렉터리, 스테이징 영역(인덱스),
.git디렉터리(로컬 저장소) 셋이다. .git디렉터리의 역할 — 메타데이터·객체 데이터베이스·설정을 담는 핵심 컨테이너로, 커밋된 스냅샷을 저장하고 프로젝트 역사를 관리한다.- 브랜치는 이동식 포인터 — 서로 다른 커밋을 가리키는 움직이는 포인터라 병렬 개발이 가능하다고 설명하며,
git branch로 만들고git switch로 옮기는 예를 든다. - 되돌리기 세 갈래 —
reset은 역사를 되감고,checkout은 옛 커밋에서 파일을 직접 꺼내며,revert는 이전 커밋을 무효화하는 새 커밋을 만든다고 한 줄씩 대비시킨다. - 역사 조회 —
git log에--author·--since/--until·--grep·--oneline·-- <경로>를 붙여 좁히는 법,git diff로 스테이징 영역과 마지막 커밋(--staged), 브랜치 사이(branch1..branch2)를 비교하는 법을 예제로 든다. - 운영 습관 — 설정 파일의 세 단계(local·global·system) 우선순위, 복잡한 명령을 묶는 별칭, 커밋·머지·푸시 같은 사건에 스크립트를 거는 훅, 빌드 산출물을 역사에서 빼는
.gitignore. - 좋은 관행 — 명령형 현재 시제("Fix typo")로 쓰는 커밋 메시지, 잦은 커밋, 잦은 동기화와 충돌 즉시 해결, 목적별 브랜치 운용.
주요 주장 / 데이터
- "Stack Overflow 설문 기준 개발자의 90% 이상이 Git을 쓴다" — 글이 도입부에 내세우는 수치다. 설문 연도는 본문에 없다. 아래 외부 검증 참고.
- "분산이란 개발자 한 명 한 명이 저장소 역사 전체의 완전하고 독립적인 사본을 갖는다는 뜻" — 1차 출처의 설명과 같은 내용이라, 이 글에서 가장 믿을 만한 축에 속한다.
- "작업 디렉터리에서 고친 파일은 명시적으로 스테이징하기 전까지 'untracked'로 간주된다" — 공식 문서의 세 가지 상태 정의와 어긋나는 서술이다. 고친 추적 파일은 modified이고, untracked는 Git이 아예 모르는 파일이다 46.
- "edit → stage → commit 주기를 반복해 선형(linear) 프로젝트 역사를 쌓는다" — 브랜치 없이 한 갈래로만 일할 때만 맞는 말이다. 같은 글이 뒤에서 브랜치·머지를 설명하므로 글 안에서도 느슨한 표현이다.
외부 검증 (2026-09-22, 웹)
- "개발자 90% 이상"의 출처는 Stack Overflow 2021년 개발자 설문의 93%다. 다만 모집단은 "전체 개발자"가 아니라 "설문 응답자"다 — https://survey.stackoverflow.co/2021/ . 표본 편향이 있는 수치라 위키 본문에는 옮기지 않았다.
출처 정보
- 저자/발행처: KodeKloud 블로그. 추출본에서 글쓴이 표기가 본문 저자인지 하단 추천 카드인지 구분되지 않아 개인 저자는 **(불확인)**으로 둔다.
- 수집일: 2026-09-22
- URL: https://kodekloud.com/blog/how-git-works/
- credibility=medium: 식별 가능한 교육 회사의 2차 해설이고 큰 줄기(3단 구조·분산·브랜치 포인터)는 1차 출처와 부합한다. 다만 'untracked' 정의와 '선형 역사' 표현에서 공식 문서와 어긋나는 대목이 있어 high는 아니다.