저장소 초기화와 git status
3강. 저장소 초기화와 git status
1. 이번 강의에서 해결할 문제
어떤 파일이 기록 대상인지 모른 채 add나 commit을 실행하면 원하지 않는 파일이 포함됩니다. 먼저 저장소를 만들고 status를 작업의 출발점으로 사용합니다.
2. 학습 목표
3. 핵심 개념
.git 폴더에는 커밋, 브랜치, 설정 같은 저장소 메타데이터가 들어 있습니다. 작업 파일은 그대로이고 Git이 자동으로 모든 파일을 기록하지는 않습니다. git status가 보여 주는 상태를 읽은 뒤 다음 행동을 결정합니다.
Git은 파일을 크게 세 위치에서 봅니다. 작업 폴더는 지금 편집 중인 파일, 스테이징 영역은 다음 커밋 후보, 저장소 이력은 이미 커밋된 스냅샷입니다. git status --short의 두 칸은 스테이징 영역과 작업 폴더 상태를 요약합니다.
| 표시 | 뜻 | 다음 판단 |
|---|---|---|
?? README.md | 아직 추적하지 않는 새 파일 | 내용을 확인한 뒤 필요할 때 add |
M README.md | 추적 중인 파일을 작업 폴더에서 수정 | diff를 확인 |
M README.md | 수정 내용이 스테이징됨 | staged diff를 확인 |
4. 단계별 명령어와 예시
명령 목적: 새 전용 폴더만 Git 저장소로 만들고 첫 파일 상태를 읽습니다.
실행 전 상태: C:\dev\git-learning-site가 과정 전용 폴더인지 확인합니다. 기존 프로젝트나 C:\dev 자체에서 git init하지 않습니다. Test-Path .git과 git rev-parse --show-toplevel을 실행해 이미 다른 저장소 안인지 먼저 확인할 수 있습니다.
실습 경로: C:\dev\git-learning-site
Set-Location C:\dev\git-learning-site
Get-Location
git init
git status
"# 나의 학습 사이트" | Set-Content -Encoding utf8 README.md
git status --short
git rev-parse --show-toplevel
git branch --show-current
예상 결과: git init은 빈 저장소를 초기화했다는 문장을 출력합니다. README 생성 전에는 커밋할 변경이 없고, 생성 후 git status --short에는 ?? README.md가 표시됩니다. rev-parse는 정확히 C:/dev/git-learning-site에 해당하는 루트를 보여 줍니다.
5. 명령어가 동작하는 이유
git init은 현재 폴더에 .git 메타데이터를 만들지만 파일을 커밋하지 않습니다. status --short는 왼쪽 열에 스테이징 상태, 오른쪽 열에 작업 폴더 상태를 압축해 표시합니다. rev-parse --show-toplevel은 명령이 적용되는 저장소 루트를 알려 줍니다.
실행 흐름은 현재 위치 확인 → 저장소 메타데이터 생성 → 상태 확인 → 파일 생성 → 상태 변화 확인입니다. README의 내용은 그대로 작업 폴더에 있고 아직 스테이징이나 커밋되지 않았습니다.
6. 자주 하는 실수와 안전한 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
10. 다음 강의 연결
작업 폴더의 새 파일 상태를 읽었습니다. 다음 강의에서는 원하는 파일만 스테이징하고 실제 커밋 내용을 검토합니다.
저장소 초기화와 git status 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.