작업 디렉터리·스테이징·저장소 세 영역을 이해하고 git add, git commit, git status로 변경을 기록한다.
기본 워크플로우
Git의 일상 작업은 대부분 "파일을 고치고 → 스테이징하고 → 커밋한다"의 반복입니다. 이 흐름을 이해하려면 Git이 파일을 다루는 세 영역을 알아야 합니다. 이 강좌에서 그 핵심을 익힙니다.
학습 목표
- 작업 디렉터리·스테이징 영역·저장소 세 영역을 구분한다.
git status로 현재 상태를 읽는다.git add로 변경을 스테이징한다.git commit으로 스냅샷을 기록한다.
세 가지 영역
[작업 디렉터리] → [스테이징 영역] → [저장소(.git)]
파일을 편집 git add 로 올림 git commit 으로 확정
- 작업 디렉터리(Working Directory) — 내가 실제로 편집하는 파일들.
- 스테이징 영역(Staging Area / Index) — 다음 커밋에 포함할 변경을 모아 두는 대기 공간.
- 저장소(Repository) — 커밋으로 확정된 스냅샷들이 보관되는 곳(
.git).
이 "스테이징"이라는 중간 단계가 Git의 특징입니다. 고친 것 중 원하는 변경만 골라 커밋할 수 있게 해 줍니다.
상태 확인: git status
지금 어떤 파일이 바뀌었고, 무엇이 스테이징됐는지는 git status로 봅니다. Git 작업 중 가장 자주 치는 명령입니다.
git status
On branch main
Changes to be committed: # 스테이징됨(커밋 대기)
new file: index.html
Changes not staged for commit: # 수정됐지만 아직 스테이징 안 됨
modified: style.css
Untracked files: # Git이 아직 추적하지 않는 새 파일
app.js
변경 스테이징: git add
커밋에 넣을 변경을 스테이징 영역으로 올립니다.
git add index.html # 특정 파일
git add style.css app.js # 여러 파일
git add . # 현재 폴더의 모든 변경
스테이징은 "사진을 찍기 전에 화면에 담을 대상을 고르는" 단계라고 생각하면 됩니다. 실수로 올린 파일은 다음처럼 내릴 수 있습니다.
git restore --staged app.js # 스테이징만 취소(파일 내용은 그대로)
커밋: git commit
스테이징된 내용을 하나의 스냅샷으로 확정합니다. -m으로 메시지를 함께 적습니다.
git commit -m "로그인 폼 기본 마크업 추가"
메시지는 "무엇을, 왜 바꿨는지" 한 줄로 요약합니다. 메시지를 생략하면 설정된 에디터가 열려 더 길게 작성할 수 있습니다.
스테이징을 건너뛰고 추적 중인 파일의 수정을 한 번에 커밋하려면 -a를 씁니다. 단, 새로 만든(untracked) 파일은 포함되지 않으니 주의합니다.
git commit -a -m "버튼 색상 수정" # 이미 추적 중인 파일의 변경만
전형적인 하루 흐름
git status # 무엇이 바뀌었나 확인
git add index.html style.css # 커밋할 변경 선택
git status # 스테이징 결과 재확인
git commit -m "헤더 레이아웃 정리" # 스냅샷 확정
요약
Git은 작업 디렉터리에서 고친 변경을 git add로 스테이징하고, git commit으로 저장소에 스냅샷으로 확정합니다. git status로 이 흐름의 현재 위치를 항상 확인하세요. 다음 강좌에서는 이렇게 쌓인 커밋 이력을 들여다보는 법을 배웁니다.
댓글 0
“Git & GitHub” 강좌에 대한 댓글입니다.