쉬운·기술사전비유로 이해하는 AI·개발 용어
코드와 협업

Git / 버전 관리

Git / Version Control

코드의 저장 지점이에요.

Git / 버전 관리 개념 다이어그램

Git 이전의 버전 관리는 손으로 직접 해야 했어요. 여기서 '손으로'란, 이런 폴더를 멍하니 바라보는 일을 말해요.

누구나 한 번쯤 겪어본 파일 무덤이죠. 어느 파일이 진짜인지 아무도 몰라요. Git은 그 혼란 전체를 하나의 깔끔한 히스토리로 대체해요. 처음 시작 지점까지 한 단계씩 되감을 수 있습니다.

가장 명확한 비유는 이거예요. 비디오 게임의 세이브 포인트. 어려운 구간을 클리어하면 게임이 저장되죠. 다음 구간에서 죽어도 타이틀 화면부터 다시 시작하지 않아도 돼요. 세이브 지점에서 불러와 다시 도전하면 됩니다. Git이 바로 그거예요. 빌드하는 모든 것에 적용돼요. 스냅샷을 찍을 때마다 그 순간 모든 파일의 상태를 정확히 기억해둡니다. 한 시간 뒤에 뭔가를 망가뜨렸다면? 잘 작동하던 순간으로 돌아가면 돼요. 망가진 일이 없었던 것처럼요.

그 저장 지점 하나하나를 기술 용어로 커밋이라고 부릅니다. 여기서 깊이 파고들지는 않을게요. 지금은 이 그림만 기억하면 충분해요. 시간 속에 동결된 스냅샷, 언제든 돌아올 수 있는 그 지점.

AI로 만드는 작업에서 Git이 진짜 힘을 발휘하는 이유.

빠르게 움직이며 에이전트가 코드를 작성하게 하면, 반드시 뭔가 망가져요. 가능성의 문제가 아니에요. 이 방식의 핵심은 망가뜨리는 걸 두려워하지 않는 거예요. 망가뜨리면서 무엇이 작동하는지 발견하거든요.

Git은 그 대담함을 안전하게 만들어줘요. 프로젝트를 계속 망가뜨려도 괜찮아요. 망가뜨렸을 때 되감는 방법만 알면 됩니다.

우리 Android 앱 개발자들이 버그를 발견하고 고치는 데 일주일이 걸릴 것 같다고 했어요. 이틀 전에는 멀쩡했던 코드였거든요. 그래서 5분 만에 그 스냅샷으로 되돌아갔습니다.

저는 코드베이스를 숱하게 망가뜨렸어요. 그런데 단 한 번도 문제가 된 적이 없었어요. 모든 버전이 이미 저장되어 있었고, 언제든 그리로 걸어 돌아갈 수 있었으니까요.

대부분이 모르는 Git의 몇 가지 사실.

  1. 코드에만 쓰는 게 아니에요. 문서, 메모, 스프레드시트, 100MB 미만의 모든 파일을 Git으로 관리할 수 있어요. 솔직히 엔지니어링팀뿐 아니라 더 많은 팀이 지식 업무에 이 방식을 써야 한다고 생각해요.

  2. 파일 전체가 아니라 변경 사항을 추적해요. Git은 단순히 "이 파일이 바뀌었다"가 아니라, 스냅샷 사이에서 어떤 줄이 추가되고, 삭제되고, 수정되었는지 정확히 알고 있어요. 그래서 무언가가 어떻게 만들어졌는지 전체 이야기를 되짚어볼 수 있습니다.

  3. 에이전트가 저장의 대부분을 대신해줘요. Claude Code나 Codex 같은 도구는 작업하면서 자동으로 커밋을 남겨요. 따로 요청하지 않아도 세이브 포인트를 찍어두죠. 에이전트가 잘못된 방향으로 갔다면, 아침 작업을 처음부터 다시 할 필요가 없어요. 마지막으로 잘 작동하던 스냅샷으로 되돌리고 다시 시작하면 됩니다.

가져갈 한 줄:

모든 버전이 저장되어 있으면 영구적으로 망가뜨릴 수 있는 건 없어요.

이것이 핵심 변화예요. 무언가를 만드는 일이 외줄 타기처럼 느껴지지 않고 연필로 스케치하는 것처럼 느껴지기 시작해요. 망쳐도 지우고, 다시 시도하면 되니까요. 작업 자체는 결코 위험에 처하지 않아요.