Git을 처음 접할 때 가장 헷갈리는 부분은 ‘파일 저장(Ctrl+S)’과 ‘Git 저장(Commit)’의 차이이다.

파일을 수정하고 저장했다고 해서 Git에 기록이 남는 것은 아니다. Git은 우리가 명시적으로 명령을 내려야만 파일의 상태를 기록한다.

오늘은 Git의 핵심 작업 흐름인 Working Directory → Staging Area → Local Repository → Remote Repository의 개념을 명확히 잡고, 이를 터미널 명령어VS Code에서 각각 어떻게 실행하는지 알아보자.


1. Git의 4가지 작업 공간 (Workflow)

Git은 파일을 한 번에 서버로 보내지 않고, 단계별로 이동시킨다.

  1. Working Directory (작업 디렉터리)
    • 내 컴퓨터의 실제 폴더이다.
    • 파일을 수정하고 저장(Ctrl+S)하면 이 공간에 저장만 된 상태이다.
    • Git 입장에서는 “변경은 감지했지만, 아직 기록할 준비는 안 된” 상태
  2. Staging Area (스테이징 영역)
    • 작업 디렉터리의 파일 중 “이번 버전(커밋)에 포함시킬 파일”만 골라놓은 대기 공간 (add)
    • 수정한 파일이 10개라도, 여기서 3개만 선택하면 그 3개만 기록된다.
  3. Local Repository (로컬 저장소)
    • 스테이징 영역의 파일들을 묶어 “하나의 확정된 버전”으로 기록하는 곳 (commit)
    • 여기까지는 내 컴퓨터에만 저장된 상태입니다.
  4. Remote Repository (원격 저장소)
    • 로컬 저장소의 기록들을 GitHub 같은 외부 서버에 업로드하는 곳 (push)

2. 단계별 실전 가이드 (Terminal vs VS Code)

가장 많이 사용하는 add, commit, push, pull 과정을 비교해 보자.

① git add (대기 공간에 올리기)

변경된 파일 중 기록하고 싶은 파일을 선택하는 단계다.

  • 터미널 (Terminal)
      # 특정 파일 하나만 스테이징
      git add 파일명.py
    
      # 변경된 모든 파일 스테이징 (가장 많이 사용)
      git add .
    
  • VS Code (GUI)
    1. 좌측 소스 제어(Source Control) 아이콘(가지 모양) 클릭
    2. 변경 사항(Changes) 목록에 있는 파일 옆의 + 버튼 클릭
    3. 파일이 ‘스테이징된 변경 사항(Staged Changes)’으로 이동함

② git commit (버전 기록하기)

선택한 파일들을 하나의 버전으로 확정 짓는 단계이다. 메시지 작성이 필수다.

  • 터미널 (Terminal)
      git commit -m "feat: 로그인 페이지 레이아웃 완성"
    
  • VS Code (GUI)
    1. 소스 제어 패널 상단의 입력창에 커밋 메시지 작성
    2. 입력창 위의 V (체크 아이콘, 커밋) 클릭
    3. 또는 Ctrl + Enter (Mac은 Cmd + Enter) 단축키 사용

③ git push (GitHub에 업로드)

내 컴퓨터에 기록된 버전을 원격 저장소로 보낸다.

  • 터미널 (Terminal)
      # origin(원격)의 main 브랜치로 업로드
      git push origin main
    
  • VS Code (GUI)
    1. 소스 제어 패널 메뉴(점 3개) → 밀어넣기(Push) 클릭
    2. 또는 좌측 하단의 ‘변경 내용 동기화(Sync Changes)’ 버튼 클릭 (Pull과 Push를 한 번에 수행)

④ git pull (최신 내용 가져오기)

다른 팀원이 작업한 내용을 내 컴퓨터로 가져온다. 작업 시작 전에 반드시 실행해야 충돌을 막을 수 있다.

  • 터미널 (Terminal)
      git pull origin main
    
  • VS Code (GUI)
    1. 소스 제어 패널 메뉴(점 3개) → 가져오기(Pull) 클릭

3. 요약

단계 설명 터미널 명령어 VS Code
1. 선택 변경된 파일 대기열 등록 git add . + 버튼 클릭
2. 기록 내 컴퓨터에 버전 저장 git commit -m "메시지" 메시지 입력 후 V 클릭
3. 업로드 GitHub에 버전 공유 git push origin main 변경 내용 동기화 클릭
4. 동기화 최신 코드 가져오기 git pull origin main 메뉴 → 가져오기