Git을 처음 접할 때 가장 헷갈리는 부분은 ‘파일 저장(Ctrl+S)’과 ‘Git 저장(Commit)’의 차이이다.
파일을 수정하고 저장했다고 해서 Git에 기록이 남는 것은 아니다. Git은 우리가 명시적으로 명령을 내려야만 파일의 상태를 기록한다.
오늘은 Git의 핵심 작업 흐름인 Working Directory → Staging Area → Local Repository → Remote Repository의 개념을 명확히 잡고, 이를 터미널 명령어와 VS Code에서 각각 어떻게 실행하는지 알아보자.
1. Git의 4가지 작업 공간 (Workflow)
Git은 파일을 한 번에 서버로 보내지 않고, 단계별로 이동시킨다.
- Working Directory (작업 디렉터리)
- 내 컴퓨터의 실제 폴더이다.
- 파일을 수정하고 저장(Ctrl+S)하면 이 공간에 저장만 된 상태이다.
- Git 입장에서는 “변경은 감지했지만, 아직 기록할 준비는 안 된” 상태
- Staging Area (스테이징 영역)
- 작업 디렉터리의 파일 중 “이번 버전(커밋)에 포함시킬 파일”만 골라놓은 대기 공간 (
add) - 수정한 파일이 10개라도, 여기서 3개만 선택하면 그 3개만 기록된다.
- 작업 디렉터리의 파일 중 “이번 버전(커밋)에 포함시킬 파일”만 골라놓은 대기 공간 (
- Local Repository (로컬 저장소)
- 스테이징 영역의 파일들을 묶어 “하나의 확정된 버전”으로 기록하는 곳 (
commit) - 여기까지는 내 컴퓨터에만 저장된 상태입니다.
- 스테이징 영역의 파일들을 묶어 “하나의 확정된 버전”으로 기록하는 곳 (
- Remote Repository (원격 저장소)
- 로컬 저장소의 기록들을 GitHub 같은 외부 서버에 업로드하는 곳 (
push)
- 로컬 저장소의 기록들을 GitHub 같은 외부 서버에 업로드하는 곳 (
2. 단계별 실전 가이드 (Terminal vs VS Code)
가장 많이 사용하는 add, commit, push, pull 과정을 비교해 보자.
① git add (대기 공간에 올리기)
변경된 파일 중 기록하고 싶은 파일을 선택하는 단계다.
- 터미널 (Terminal)
# 특정 파일 하나만 스테이징 git add 파일명.py # 변경된 모든 파일 스테이징 (가장 많이 사용) git add . - VS Code (GUI)
- 좌측 소스 제어(Source Control) 아이콘(가지 모양) 클릭
- 변경 사항(Changes) 목록에 있는 파일 옆의
+버튼 클릭 - 파일이 ‘스테이징된 변경 사항(Staged Changes)’으로 이동함
② git commit (버전 기록하기)
선택한 파일들을 하나의 버전으로 확정 짓는 단계이다. 메시지 작성이 필수다.
- 터미널 (Terminal)
git commit -m "feat: 로그인 페이지 레이아웃 완성" - VS Code (GUI)
- 소스 제어 패널 상단의 입력창에 커밋 메시지 작성
- 입력창 위의
V(체크 아이콘, 커밋) 클릭 - 또는
Ctrl + Enter(Mac은Cmd + Enter) 단축키 사용
③ git push (GitHub에 업로드)
내 컴퓨터에 기록된 버전을 원격 저장소로 보낸다.
- 터미널 (Terminal)
# origin(원격)의 main 브랜치로 업로드 git push origin main - VS Code (GUI)
- 소스 제어 패널 메뉴(점 3개) → 밀어넣기(Push) 클릭
- 또는 좌측 하단의 ‘변경 내용 동기화(Sync Changes)’ 버튼 클릭 (Pull과 Push를 한 번에 수행)
④ git pull (최신 내용 가져오기)
다른 팀원이 작업한 내용을 내 컴퓨터로 가져온다. 작업 시작 전에 반드시 실행해야 충돌을 막을 수 있다.
- 터미널 (Terminal)
git pull origin main - VS Code (GUI)
- 소스 제어 패널 메뉴(점 3개) → 가져오기(Pull) 클릭
3. 요약
| 단계 | 설명 | 터미널 명령어 | VS Code |
|---|---|---|---|
| 1. 선택 | 변경된 파일 대기열 등록 | git add . |
+ 버튼 클릭 |
| 2. 기록 | 내 컴퓨터에 버전 저장 | git commit -m "메시지" |
메시지 입력 후 V 클릭 |
| 3. 업로드 | GitHub에 버전 공유 | git push origin main |
변경 내용 동기화 클릭 |
| 4. 동기화 | 최신 코드 가져오기 | git pull origin main |
메뉴 → 가져오기 |