깃(작업 기록 남기기)
되돌릴 수 있다는 안전망의 이름이에요. 코드를 고칠 때마다 그 시점을 사진처럼 기억해 둬서, 어떤 실수를 해도 멀쩡하던 때로 돌아갈 수 있어요.
쉽게 말하면
전단지 시안 폴더를 정리해 주는 도장이에요. 전단지를 고칠 때마다 "최종", "진짜최종", "이게진짜최종" 파일이 쌓이죠. 파일이 늘수록 어느 게 진짜인지 아무도 몰라요. 깃은 반대로 해요. 파일은 하나만 두고, 고칠 때마다 "이 시점을 기억해 둬" 하고 도장을 찍어요. 도장 찍힌 시점이 전부 남아서, 언제든 그때 모습 그대로 다시 펼칠 수 있어요.
깃은 개발자들이 코드를 고칠 때 거의 예외 없이 쓰는 무료 도구예요. 하는 일은 딱 하나예요. 바뀐 역사를 전부 기억하는 것.
그래서 깃이 있는 코드는 겁 없이 고칠 수 있어요. 망가뜨려도 도장 찍힌 시점으로 되돌리면 그만이거든요. 이 도구의 진짜 값어치는 기능이 아니라 되돌릴 수 있다는 확신이에요.
깃허브와 헷갈리기 쉬워요
깃은 내 컴퓨터에서 도는 도구고, 깃허브는 깃으로 남긴 기록을 인터넷 창고에 보관하고 나눠 보는 서비스예요. 장부를 쓰는 펜과 장부를 맡겨 두는 금고의 관계예요.
깃이 하는 일 세 가지
복잡해 보이는 기능을 다 걷어내면 세 가지가 남아요. 이 세 가지만 알면 개발자와 대화가 돼요.
| 하는 일 | 개발자 말로 | 가게로 치면 |
|---|---|---|
| 시점 기억하기 | 커밋(commit) | 가게 문 닫기 전에 오늘 장부에 도장을 찍어 두는 거예요. 무엇을 왜 바꿨는지 메모도 같이 남아요 |
| 되돌리기 | 리버트(revert) | 새 메뉴판이 반응이 나쁘면 지난주 메뉴판으로 되돌리는 거예요. 도장 찍힌 시점이면 어디든 갈 수 있어요 |
| 갈래 나누기 | 브랜치(branch) | 손님 받는 매장은 그대로 두고, 뒷방에서 새 인테리어를 실험하는 거예요. 마음에 들면 그때 매장에 합쳐요 |
도장에는 메모가 붙어요
도장을 찍을 때는 "왜 바꿨는지" 한 줄 메모를 같이 남겨요. 이 메모를 커밋 메시지라고 불러요. 석 달 뒤에 "이건 왜 이렇게 돼 있지?" 싶을 때 답을 주는 게 이 메모예요. 메모가 성실한 기록은 그 자체로 인수인계 문서가 돼요.
깃이 없으면 무슨 일이 생기나
어제까지 되던 게 안 되는데, 되돌아갈 지점이 없어요. 멀쩡하던 모습을 기억에 의지해 손으로 복원해야 해요.
실수가 실수로 끝나요. 한 번의 되돌리기로 멀쩡하던 시점이 그대로 돌아와요.
남에게 맡길 때는 더 중요해져요. 외주 개발자가 기록 없이 일하면 무엇을 언제 바꿨는지 사장님이 알 방법이 없어요. 기록이 있으면 사람이 바뀌어도 역사는 남고, 그 역사가 사장님의 재산이에요.
바이브캠퍼스에서는 어떻게 만나나
바이브캠퍼스 스튜디오에서는 채팅으로 만들고 고치기 때문에, 깃 명령어를 몰라도 서비스를 시작할 수 있어요. 처음 만드는 단계에서는 이 문서를 읽어 둔 것만으로 충분해요.
깃이 진짜로 필요해지는 순간은 코드를 내 것으로 챙길 때예요. 바이브캠퍼스에서 만든 코드는 내 것을 가지고 나가기로 내려받을 수 있고, 그 코드를 깃허브 창고에 올려 두면 그때부터 도장 찍힌 역사가 쌓이기 시작해요.
직접 해보기
만들 것부터 하나 가져 보세요
깃을 배우는 가장 좋은 순서는 지킬 것을 먼저 갖는 거예요. 스튜디오에서 작은 것 하나를 만들어 보세요. 그걸 고치다가 "아까가 나았는데" 싶은 순간이 오면, 그때 이 문서의 내용이 몸으로 이해돼요.
스튜디오 열기개발자와 AI가 쓰는 말
깃 주변에서 오가는 단어는 몇 개 안 돼요. 아래 표만 있으면 대화 중에 길을 잃지 않아요.
| 이런 말이 나오면 | 이 뜻이에요 |
|---|---|
| 커밋했어요 | 지금 시점에 도장을 찍어 뒀다는 뜻이에요. 여기까지는 언제든 돌아올 수 있어요 |
| 푸시했어요 | 도장 찍은 기록을 인터넷 창고(깃허브)로 올렸다는 뜻이에요. 내 컴퓨터가 고장 나도 기록이 살아요 |
| 풀 받으세요 | 창고에 올라온 최신 기록을 내 컴퓨터로 받아 오라는 뜻이에요 |
| 브랜치 팠어요 | 본판은 건드리지 않고 갈래를 나눠서 실험 중이라는 뜻이에요 |
| 머지했어요 | 갈래에서 실험하던 것을 본판에 합쳤다는 뜻이에요 |
| 충돌 났어요 | 두 갈래가 같은 부분을 다르게 고쳐서, 어느 쪽을 살릴지 사람이 정해야 한다는 뜻이에요. 고장이 아니라 질문이에요 |
| 클론 받으세요 | 창고에 있는 프로젝트를 통째로 복사해 온다는 뜻이에요. 새 개발자가 합류하면 제일 먼저 하는 일이에요 |
확인해 보세요
홈페이지 문구를 크게 갈아엎으려는데 망칠까 봐 겁이 나요. 깃이 있다면 가장 좋은 순서는?
하나 더
깃과 깃허브의 관계로 맞는 것은?
- Q. 깃은 돈을 내야 하나요?
- 아니요, 깃 자체는 무료예요. 누구나 쓸 수 있게 공개된 도구고, 전 세계 개발자가 다 같이 써요. 깃허브도 개인이 쓰는 기본 기능은 무료예요.
- Q. 혼자 만드는데도 필요해요?
- 네, 오히려 혼자일수록 필요해요. 석 달 전의 나는 남이나 마찬가지예요. 그때 왜 그렇게 고쳤는지 기억이 안 나는데, 커밋 메모가 남아 있으면 과거의 내가 지금의 나에게 인수인계를 해 주는 셈이에요.
- Q. 깃만 있으면 백업은 안 해도 되나요?
- 아니에요, 둘은 지키는 게 달라요. 깃은 코드의 역사를 지키고, 백업은 손님 명단 같은 데이터를 지켜요. 데이터베이스 내용은 깃에 안 담겨요. 그리고 깃 기록이 내 컴퓨터에만 있으면 컴퓨터와 함께 죽으니, 깃허브 같은 창고에 올려 두는 것까지가 한 세트예요.
- Q. 명령어를 외워야 하나요?
- 요즘은 아니에요. AI에게 "지금 상태를 저장해 줘", "아까 상태로 되돌려 줘"라고 말로 시키는 게 보통이고, 버튼으로 조작하는 프로그램도 많아요. 사장님에게 필요한 건 명령어가 아니라 도장·되돌리기·갈래라는 그림이에요.
더 깊이 (안 읽어도 괜찮아요)
도장은 바뀐 부분이 아니라 시점을 기억해요 · 깃의 도장(커밋)은 "어디를 고쳤나"만 적어 두는 게 아니라, 그 순간 프로젝트 전체의 모습을 통째로 기억해요. 그래서 어느 시점으로 돌아가도 반쪽짜리가 아니라 완전한 모습이 나와요. 전체를 매번 기억하면 무거울 것 같지만, 안 바뀐 부분은 알아서 이전 기억을 재활용하기 때문에 실제로는 아주 가벼워요.
왜 개발자들은 도장을 잘게 찍나 · 하루치 작업을 몰아서 도장 하나로 찍으면, 되돌릴 때 하루 전체가 통째로 날아가요. 문구 수정 따로, 색 변경 따로, 기능 추가 따로 찍어 두면 잘못된 것 하나만 골라서 되돌릴 수 있어요. 도장이 잘게 찍힌 기록은 그 개발자가 일을 정돈해서 한다는 신호이기도 해요.
충돌은 사고가 아니라 질문이에요 · 두 사람이 같은 줄을 서로 다르게 고치면 깃은 어느 쪽이 맞는지 판단하지 않아요. 대신 작업을 멈추고 "둘 중 어느 쪽을 살릴까요?" 하고 물어요. 이걸 충돌이라고 부르는데, 이름이 험악해서 그렇지 실제로는 덮어쓰기 사고를 막아 주는 안전장치예요. 기록 없이 일했다면 나중에 저장한 쪽이 소리 없이 이겼을 거예요.
이것만 기억하세요
- ·깃은 코드를 고칠 때마다 그 시점에 도장을 찍어 역사를 전부 남기는 무료 도구예요
- ·도장(커밋)이 찍혀 있으면 어떤 실수도 되돌릴 수 있어요. 그 확신이 깃의 값어치예요
- ·깃은 기록하는 도구, 깃허브는 그 기록을 보관하는 인터넷 창고예요
- ·코드의 역사는 깃이 지키고, 손님 데이터는 백업이 지켜요. 서로 대신 못 해요
- ·명령어는 몰라도 돼요. 도장·되돌리기·갈래, 이 세 가지 그림만 기억하세요