#030 · 48편 중
커밋(Commit)이 뭐야?: 코드 변경을 기록하는 방식 정리

커밋(Commit)이 뭐야?: 코드 변경을 기록하는 방식 정리

코딩을 시작하면 가장 먼저 만나는 단어 중 하나가 커밋이다. AI 코딩 도구를 쓰면 자동으로 커밋해 주기도 하지만, 그 의미를 한 번 이해해 두면 다른 사람의 코드도 훨씬 빨리 읽힌다.

Git 커밋(Commit) 개념을 설명하는 AI 통통 입문 가이드 이미지

커밋 한 줄 정의

**커밋(Commit)**은 코드 변경 사항 한 묶음을 깃(Git)이라는 버전 관리 도구에 영구적으로 기록하는 행동이다.

풀어 말하면, 작업하다가 “여기까지가 한 단위로 의미 있다”라고 판단되는 시점에 그 변경을 깃 기록 장부에 한 줄로 적는 것이다. 이 기록은 한 번 남으면 누가, 언제, 왜, 무엇을 바꿨는지 시간 순으로 추적할 수 있게 된다.

깃은 이 커밋을 단위로 모든 코드 변경을 관리한다. 협업·되돌리기·이력 비교 같은 깃의 강력한 기능이 모두 커밋 단위로 동작한다.

중학생도 이해하는 비유

커밋을 가장 쉽게 설명하는 비유는 게임 세이브 포인트다.

RPG 게임을 하다 보면 중요한 보스를 잡기 전에 세이브 포인트에 들러 진행 상황을 저장한다. 보스 전투에 실패해도, 마지막 세이브 시점으로 돌아갈 수 있다. 커밋이 정확히 이 세이브 포인트 역할이다.

코드 작업도 똑같다. 새 기능을 만들다가 갑자기 화면이 멈추거나 다른 부분을 망가뜨릴 수 있다. 커밋을 자주 해두면 “10분 전 세이브로 돌아가자”가 가능하다.

세이브 한 번에 게임의 모든 상태가 저장되듯, 커밋 한 번에 그 시점의 코드 전체 모습이 함께 기록된다. 그래서 며칠 전 커밋으로 돌아가도 그때의 모습 그대로 복원된다.

실제 사용 예시

커밋은 보통 이런 상황에서 만들어진다.

예시 1: 새 기능 추가 회원가입 화면을 새로 만들었다면, 그 작업이 끝났을 때 한 번 커밋한다. 메시지는 보통 feat: 회원가입 화면 추가처럼 적는다. 이렇게 하면 나중에 “회원가입 기능은 언제 들어왔지?”를 깃 로그에서 한 번에 찾을 수 있다.

예시 2: 버그 수정 결제 금액이 잘못 표시되던 문제를 고쳤을 때 fix: 결제 금액 0이 두 자리 더 표시되던 버그 수정 같은 메시지로 커밋한다. 메시지에 “왜”가 들어 있으면 6개월 뒤의 자기 자신이 봐도 빠르게 이해된다.

예시 3: AI 코딩 도구 자동 커밋 Claude Code나 Cursor에게 “이 함수 리팩토링 해줘”라고 하면, 작업이 끝난 뒤 도구가 직접 커밋 메시지까지 만들어 주는 경우가 많다. 사용자는 메시지를 한 번 훑고 그대로 쓰거나 수정하면 된다.

비슷한 용어와 차이

헷갈리기 쉬운 깃 개념을 정리했다.

용어커밋과의 차이
저장(save)파일을 디스크에 쓰는 행동깃에 기록되지 않음. 커밋해야 이력에 남는다
스테이지(stage)커밋할 변경을 골라 미리 담는 단계git add로 스테이지에 올린 뒤 커밋
푸시(push)로컬 커밋을 원격 저장소에 올리는 일커밋 후의 다음 단계. 커밋만 하면 내 컴퓨터에만 남음
풀(pull)원격의 새 커밋을 내 컴퓨터로 가져오는 일다른 사람의 커밋을 받아오는 동작
머지(merge)다른 가지(branch)의 커밋을 합치는 일여러 커밋 묶음을 한 데 모은다

따라서 “저장 = 커밋”이 아니다. 저장은 파일 단위 동작이고, 커밋은 깃의 기록 단위다.

언제 커밋을 마주치나

커밋이라는 단어는 보통 이런 상황에서 등장한다.

  • AI 코딩 도구 사용 중: “변경 사항을 커밋할까요?” 같은 안내가 작업 끝에 자주 뜬다
  • 깃허브 페이지: 저장소에 들어가면 “최근 커밋”, “커밋 히스토리” 메뉴가 가장 잘 보이는 위치에 있다
  • PR 리뷰: 다른 사람의 변경을 검토할 때 커밋 단위로 코드를 본다
  • 버그 추적: “언제부터 이게 깨졌지?”를 추적할 때 커밋 로그를 시간 역순으로 살핀다

평소 코딩을 하지 않더라도, AI 코딩 도구를 쓰기 시작하면 커밋이라는 단어가 매일 등장하게 된다.

관련 용어

커밋을 이해했다면 함께 알아두면 흐름이 연결되는 용어들이다.

  • 레포지토리(Repository): 코드와 그 모든 커밋 이력을 보관하는 저장 공간. 깃허브의 한 프로젝트 단위.
  • 브랜치(Branch): 커밋들의 갈래. 메인 작업과 실험 작업을 나눠서 관리할 때 쓴다.
  • 푸시(Push): 로컬에 쌓인 커밋을 원격 저장소로 올리는 명령. 협업의 시작점이다.
  • CLI(Command Line Interface): 깃 명령은 대부분 CLI로 실행된다. CLI가 뭐야?: 명령어로 컴퓨터 다루는 방식 정리 참고.

커밋은 “코드 변경을 깃에 영구 기록하는 단위”다. 게임 세이브 포인트처럼, 한 번 찍어두면 그 시점으로 언제든 돌아올 수 있다. AI 코딩 도구가 자동으로 만들어 주는 커밋이라도, 메시지 한 줄에 의미가 담겨 있다는 점만 기억해 두면 코드를 다루는 시야가 훨씬 넓어진다.


출처

#커밋#Commit#Git