dev.syw

작업 디렉터리·스테이징·저장소 세 영역을 이해하고 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강좌에 대한 댓글입니다.

댓글을 작성하려면 로그인이 필요합니다.