Software Engineering/Git

[Git] git add와 git commit

foreverWon 2025. 8. 4. 22:51
목차

    Git의 구조

    : Working Directory → Staging Area → Repository

    단계 설명
    Working Directory 실제 사용자가 작업하는 디렉토리 (예: VSCode에서 수정한 파일들)
    Staging Area (Index) 커밋할 변경사항을 임시로 저장하는 공간
    Local Repository git commit을 통해 실제로 버전이 기록되는 저장소

     

    git add와 git commit

    git add?

    • 역할: 변경된 파일을 Staging Area(스테이징 영역)에 추가
    • 명령어: git add <파일명> 또는 git add .
    • 기능: Git에게 "이 변경사항을 저장할 준비가 되었다"라고 알리는 작업
    • 중요한 포인트: 이 명령어만으로는 저장소에 기록되지 않음
    git add는 Git에게 “이거 저장할 거야”라고 알려주는 작업!

    git commit?

    • 역할: 스테이징 영역에 있는 변경사항을 로컬 저장소에 버전 기록으로 남김
    • 명령어: git commit -m "메시지"
    • 기능: 하나의 커밋 단위로 스냅샷을 남기며, 추후 롤백 및 협업에 활용됨
    • 주의할 점: 단순히 메시지를 남기는 게 아니라, 실제 기록을 저장하는 과정

    비교

    1. 작업 디렉토리에서 파일 수정
    2. git add → 스테이징 영역에 변경사항 추가
    3. git commit → 변경사항을 버전으로 기록 (로컬 저장소 저장)
    명령어 역할 저장 여부
    git add 스테이징 영역에 올림 X
    git commit 로컬 저장소에 기록 O

     

    커밋 메시지의 중요성

    • 협업 시 변경 내역 공유에 꼭 필요
    • 롤백 시점 파악, 히스토리 추적 등 유지보수에 핵심
    • 좋은 커밋 메시지 예시:
      • "feat: 로그인 기능 추가"
      • "fix: 백업 다운로드 오류 수정"

     

    요약

    항목 설명
    git add 변경된 파일을 Git이 추적하게 만들어 스테이징 영역에 올리는 작업
    git commit 스테이징된 변경사항을 실제 저장소에 기록하는 작업
    커밋 메시지 변경 이유를 기록하며, 협업 및 유지보수에 도움을 줌
    Git 구조 Working Directory → Staging Area → Repository

     

    728x90

    'Software Engineering > Git' 카테고리의 다른 글

    리눅스 기본 명령어: mkdir, touch, mv, cp  (3) 2025.08.03
    [Github]  (0) 2025.07.31
    [Github] 새 토큰 발급  (0) 2025.07.22
    Git을 이용해 협업하기  (0) 2025.06.02
    Git 브랜치의 이해와 활용  (0) 2025.06.02