Git의 기본은 '수정 → 준비 → 저장'입니다
Git을 처음 배울 때 가장 헷갈리는 부분은 명령어가 많다는 점입니다. 하지만 기본 흐름은 단순합니다.
파일을 수정합니다.
커밋할 파일을 준비합니다.
준비한 내용을 저장합니다.
이 흐름을 Git 용어로 표현하면 다음과 같습니다.
Working Directory → Staging Area → Local Repository조금 더 쉽게 말하면 다음과 같습니다.
작업 폴더에서 수정 → 장바구니에 담기 → 내 컴퓨터 Git 기록에 저장GitHub를 잘 쓰려면 먼저 Git의 이 흐름을 손에 익혀야 합니다. GitHub는 온라인에 있는 원격 저장소이고, Git은 내 컴퓨터에서 변경 이력을 관리하는 도구입니다. 이 장에서는 GitHub에 올리기 전, 내 컴퓨터 안에서 변경 내용을 기록하는 과정을 익힙니다.
앞 장에서는 GitHub 웹사이트에서 hello-github 저장소를 만들었습니다. 이번 장에서는 원격 저장소 연결을 잠시 미루고, 로컬에서 Git의 기본 흐름만 따로 연습하겠습니다. 원격 저장소와 연결하는 방법은 다음 장에서 다룹니다.

세 공간 이해하기
Git은 파일을 바로 커밋하지 않습니다. 중간에 "이번 커밋에 포함할 변경인지" 확인하는 단계가 있습니다.
Working Directory
Working Directory는 실제로 파일을 수정하는 공간입니다.
예를 들어 VS Code에서 README.md를 열고 내용을 추가했다면, 그 파일은 Working Directory에서 변경된 상태입니다.
아직 Git 기록으로 저장된 것은 아닙니다. 그냥 파일만 바뀐 상태입니다.
Staging Area
Staging Area는 다음 커밋에 넣을 변경 사항을 임시로 올려두는 공간입니다.
장바구니라고 생각하면 쉽습니다.
마트에서 물건을 집었다고 바로 결제되는 것은 아닙니다. 장바구니에 담고, 최종적으로 계산대에서 결제해야 구매가 완료됩니다.
Git도 비슷합니다.
파일을 수정했다고 바로 커밋되는 것이 아닙니다. git add로 Staging Area에 올리고, git commit으로 저장해야 기록이 남습니다.
Local Repository
Local Repository는 내 컴퓨터 안에 있는 Git 저장소입니다.
git commit을 실행하면 Staging Area에 올라간 변경 사항이 Local Repository에 저장됩니다. 이때 저장되는 기록을 커밋이라고 부릅니다.
중요한 점은, 커밋했다고 해서 GitHub에 올라가는 것은 아니라는 점입니다. 커밋은 내 컴퓨터에 저장하는 작업입니다. GitHub로 보내는 작업은 다음 장에서 배울 push입니다.
실습 준비: 로컬 Git 저장소 만들기
이번 장의 실습은 로컬 폴더에서 진행합니다. 터미널 또는 Git Bash를 열고 원하는 위치에서 아래 명령어를 실행합니다.
mkdir git-basic-practice
cd git-basic-practice간단한 README 파일을 하나 만듭니다.
echo "# Git Basic Practice" > README.md이 폴더는 아직 Git 저장소가 아닙니다. Git이 이 폴더의 변경 이력을 관리하도록 만들려면 다음 명령어를 실행합니다.
git init이제 현재 폴더는 로컬 Git 저장소가 되었습니다. 다음부터는 파일 변경을 Git으로 추적할 수 있습니다.
현재 상태 확인하기: git status
Git을 사용할 때 가장 자주 입력해야 하는 명령어는 git status입니다.
git status이 명령어는 현재 저장소의 상태를 알려줍니다.
처음 실행하면 README.md가 아직 추적되지 않은 파일로 보일 수 있습니다.
Untracked files:
README.md이 말은 Git이 아직 이 파일을 커밋 대상으로 관리하고 있지 않다는 뜻입니다.
초보자에게 가장 좋은 습관은 작업 전후로 git status를 자주 확인하는 것입니다.
git status상태를 자주 확인하면 지금 파일이 어느 단계에 있는지 알 수 있습니다. 실수도 줄어듭니다.
변경 내용을 확인하기: git diff
파일을 수정했는데 정확히 무엇을 바꿨는지 기억나지 않을 때가 있습니다. 이때는 git diff를 사용합니다.
git diff이 명령어는 아직 Staging Area에 올리지 않은 변경 차이를 보여줍니다.
예를 들어 README.md에 한 줄을 추가했다면, Git은 어떤 줄이 추가되었는지 표시해 줍니다.
git diff는 커밋하기 전에 꼭 확인하면 좋은 명령어입니다. 내가 의도한 변경만 들어갔는지 볼 수 있기 때문입니다.
파일을 이미 git add로 올린 뒤 차이를 보고 싶다면 다음 명령어를 사용할 수 있습니다.
git diff --staged--staged는 Staging Area에 올라간 변경 내용을 확인하겠다는 뜻입니다.
커밋할 변경 준비하기: git add
파일을 수정한 뒤에는 git add로 커밋할 변경을 Staging Area에 올립니다.
git add README.md이 명령어는 README.md 파일의 변경 내용을 다음 커밋에 포함하겠다는 뜻입니다.
여러 파일 중 일부만 커밋하고 싶을 때는 필요한 파일만 골라서 add하면 됩니다.
git add README.md반대로 현재 폴더의 모든 변경을 한꺼번에 올리고 싶다면 다음처럼 입력할 수 있습니다.
git add .다만 초보자라면 처음부터 git add .를 습관처럼 쓰기보다, 어떤 파일을 올리는지 확인하고 파일명을 직접 지정하는 편이 좋습니다.
예를 들어 README.md는 커밋하고 싶지만, 임시 메모 파일 memo.txt는 커밋하고 싶지 않을 수 있습니다. 이때는 README.md만 add하면 됩니다.
git add README.mdStaging Area는 장바구니입니다. 장바구니에 담긴 것만 커밋됩니다.
변경 내용을 저장하기: git commit
git add로 준비한 변경은 git commit으로 저장합니다.
git commit -m "Add README"여기서 -m은 커밋 메시지를 바로 적겠다는 뜻입니다.
커밋 메시지는 "무엇을 변경했는지" 짧고 분명하게 작성합니다.
좋은 예시는 다음과 같습니다.
git commit -m "Add self introduction to README"
git commit -m "Update project description"
git commit -m "Fix typo in README"영어로 작성한다면 보통 현재형 동사를 사용합니다.
Added보다AddUpdated보다UpdateFixed보다Fix
한국어로 작성해도 괜찮습니다.
git commit -m "README에 자기소개 추가"중요한 것은 나중에 봐도 어떤 변경인지 알 수 있어야 한다는 점입니다.
커밋은 스냅샷처럼 생각하면 됩니다. 사진을 찍으면 그 순간의 모습이 저장되듯이, 커밋은 그 시점의 프로젝트 상태를 기록합니다.
커밋 기록 확인하기: git log
커밋을 만든 뒤에는 기록을 확인할 수 있습니다.
git log이 명령어는 커밋 목록을 보여줍니다.
출력에는 보통 다음 정보가 포함됩니다.
커밋 ID
작성자
날짜
커밋 메시지
처음에는 정보가 너무 길게 느껴질 수 있습니다. 간단히 보고 싶다면 다음 명령어를 사용합니다.
git log --oneline예시는 다음과 같습니다.
a1b2c3d Add README앞의 짧은 문자열은 커밋 ID입니다. 뒤에는 커밋 메시지가 나옵니다.
git log --oneline은 커밋 흐름을 빠르게 확인할 때 자주 사용합니다.
실전 예시: README에 자기소개 추가하기
이제 직접 흐름을 따라 해봅니다. 앞에서 만든 git-basic-practice 폴더 안에 있는지 확인하세요.
pwd현재 상태를 먼저 확인합니다.
git status아직 첫 커밋을 만들지 않았다면 README를 먼저 커밋합니다.
git add README.md
git commit -m "Add README"이제 README.md 파일을 열고 아래 내용을 추가합니다.
## 자기소개
안녕하세요. 저는 GitHub를 배우는 중입니다.
이 저장소는 Git과 GitHub 연습용입니다.파일을 저장한 뒤 다시 상태를 확인합니다.
git status아마 README.md가 수정되었다고 나올 것입니다.
이제 어떤 내용이 바뀌었는지 확인합니다.
git diff추가한 자기소개 문장이 보이면 정상입니다.
다음으로 이 변경을 Staging Area에 올립니다.
git add README.md다시 상태를 확인합니다.
git status이번에는 README.md가 커밋할 준비가 된 상태로 표시됩니다.
이미 스테이징한 변경 내용을 한 번 더 확인하고 싶다면 다음 명령어를 사용합니다.
git diff --staged이제 커밋합니다.
git commit -m "Add self introduction to README"커밋이 완료되면 기록을 확인합니다.
git log --oneline방금 만든 커밋 메시지가 보이면 성공입니다.
기본 흐름 다시 정리하기
Git의 기본 흐름은 다음과 같습니다.
# 1. 상태 확인
git status
# 2. 변경 내용 확인
git diff
# 3. 커밋할 파일 준비
git add README.md
# 4. 준비된 변경 내용 확인
git diff --staged
# 5. 커밋으로 저장
git commit -m "Add self introduction to README"
# 6. 기록 확인
git log --oneline핵심은 이것입니다.
수정 → add → commit그리고 중간중간 git status로 상태를 확인합니다.
처음에는 명령어를 외우려고 하기보다, 각 명령어가 어느 단계에서 쓰이는지 이해하는 것이 중요합니다.
git status: 지금 상태 확인git diff: 무엇이 바뀌었는지 확인git add: 커밋할 변경을 준비git commit: 준비한 변경을 저장git log: 저장된 기록 확인
이 흐름만 익혀도 Git의 기본 작업 대부분을 할 수 있습니다. 다음 장에서는 이렇게 내 컴퓨터에 만든 커밋을 GitHub 원격 저장소와 연결하고 올리는 방법을 배웁니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
