IT·테크

커밋

게임에서 어려운 보스전에 들어가기 직전, 실패해도 언제든 되돌아올 수 있게 눌러두는 '세이브(저장) 포인트'예요.

  • 약 3분
  • 그림 2장
  • 2026-10-13 검증

정의

커밋은 깃(Git, 코드 버전 관리 프로그램)에서 작업한 내용의 변경 사항을 영구적으로 기록하고 하나의 '스냅샷(특정 순간의 사진)'으로 남기는 일이에요. 언제, 누가, 무엇을 왜 바꿨는지에 대한 메모와 함께 저장되므로 나중에 언제든 이 시점으로 작업을 되돌릴 수 있어요.

원할 때 언제든 되돌아가는 세이브 포인트

문서를 작성하다가 실수로 중요한 내용을 지우거나 컴퓨터가 꺼져서 눈앞이 캄캄했던 적이 있으실 거예요. 보통 우리는 '최종.hwp', '진짜_최종.hwp', '진짜_마지막_수정.hwp'처럼 파일을 수없이 복사해서 이름을 바꾸곤 해요. 하지만 파일이 수십 개로 늘어나면 도대체 어디가 어떻게 바뀌었는지 알아보기 어려워져요.

커밋은 이런 번거로운 파일 복사 없이 작업 파일의 특정 순간을 타임머신의 착륙 지점처럼 찰칵 찍어 남기는 기능이에요. 작업하던 전체 파일의 상태를 스냅샷으로 남기면서 동시에 무엇을 고쳤는지 기록을 남겨두죠.

이렇게 차곡차곡 커밋을 쌓아두면 코드가 망가지거나 오류가 생겨도 두려워할 필요가 없어요. 과거에 잘 작동하던 특정 커밋 시점으로 깔끔하게 되돌아갈 수 있기 때문이에요.

사진을 찍기 전에 카메라 앞에 모이는 과정

커밋을 할 때는 파일 하나를 수정하자마자 바로 기록되는 것이 아니에요. 먼저 수정한 여러 파일 중 어떤 것을 이번 저장에 포함할지 골라 담는 '스테이징(준비)' 단계를 거쳐요.

단체 사진을 찍을 때 모든 사람이 아니라 이번에 사진에 들어갈 사람들만 무대 위로 올라오는 것과 같아요. 장바구니에 물건을 담아두고 한 번에 결제하는 것과도 비슷하죠. 원하는 파일들을 무대에 올려놓고 나서 찰칵 사진을 찍는 명령이 바로 커밋이에요.

그리고 사진 뒤편에 날짜와 메모를 적어두듯, 커밋할 때마다 '로그인 오류 수정' 같은 커밋 메시지(설명글)를 필수로 적어야 해요. 이 메모 덕분에 동료 개발자들도 코드를 일일이 열어보지 않고 어떤 변경이 있었는지 한눈에 파악할 수 있어요.

조금 더 정확히 말하면: 전체 복사가 아니에요

매번 파일 전체를 통째로 복사해서 저장한다면 컴퓨터 용량이 금방 바닥나지 않을까요? 깃은 용량을 아끼기 위해 아주 똑똑한 방식을 사용해요.

이전 커밋과 비교해서 바뀐 파일만 새로 저장하고, 변경되지 않은 파일은 이미 저장된 데이터를 그대로 가리키는 링크 형태로 보관해요. 바뀐 파일도 처음에는 통째로 압축해 두었다가, 나중에 비슷한 데이터끼리 차이만 남기는 압축을 따로 하기도 해요. 겉으로는 프로젝트 전체의 완벽한 스냅샷처럼 보이지만 실제로는 최소한의 용량만 사용해 가볍게 저장되는 원리예요.

또한 커밋마다 고유한 식별값(해시값)이 붙어서 서로 섞이지 않아요. 각 커밋은 바로 앞 커밋의 해시값도 함께 기록하기 때문에 이전 커밋과 이어진 순서대로 사슬처럼 연결돼요. 과거 커밋 내용이 몰래 바뀌면 해시값이 달라져서 바로 알 수 있어요.

흔한 오해

오해

커밋을 누르면 내 코드가 바로 인터넷에 올라가 모두에게 공개된다.

사실

내 컴퓨터에서 깃으로 만든 커밋은 일단 내 컴퓨터(로컬) 안에만 보관되는 개인 세이브 파일이에요. '푸시(Push)'라는 별도의 명령어로 원격 저장소에 올려보내기 전까지는 다른 사람과 공유되지 않아요. 단, GitHub 같은 웹사이트에서 직접 커밋하면 바로 원격 저장소에 기록돼요.

일상에서 만나요

  1. 새로운 로그인 기능을 완성한 뒤 '로그인 기능 추가'라는 커밋 메시지와 함께 변경 내역을 저장해요.

  2. 코드를 고치다가 프로그램이 완전히 망가졌을 때, 어제 정상 작동하던 커밋 시점으로 프로젝트 전체를 되돌려요.

그러니까 한마디로

커밋은 작업한 코드의 변경 내역을 설명 메모와 함께 안전하게 남기는 디지털 세이브 포인트예요.

제작 2024-08-14 갱신 2026-10-13 검증 2026-10-13