
안녕하세요. 칼퇴하는 예린입니다.
메모 앱의 디자인을 AI에게 바꿔달라고 했다고 해볼게요. 디자인은 마음에 드는데, 아까까지 되던 저장 기능이 갑자기 안 됩니다. “이전으로 돌려줘”라고 말하고 싶지만 어느 상태로 돌아가야 할까요?
바이브코딩에서는 코드를 빨리 만드는 만큼 변경도 자주 일어납니다. 이때 Git과 GitHub는 잘되던 상태를 기록하고, 무엇이 바뀌었는지 확인하는 데 도움이 됩니다.
1. Git은 코드에 남기는 체크포인트예요
문서를 고치기 전에 이전 버전을 남겨두듯, 코드도 중요한 상태를 기록해 둘 수 있습니다. Git은 어떤 파일이 어떻게 바뀌었는지 기록하고 비교하는 도구입니다.
메모 저장이 잘되는 상태를 기록한 뒤 디자인을 수정했다면, 문제가 생겼을 때 두 상태를 비교할 수 있습니다. 다만 Git이 모든 순간을 자동으로 기록해 주는 것은 아닙니다. 변경을 기록하는 시점을 만드는 것이 중요합니다.
2. 커밋은 기록, 푸시는 온라인으로 보내기, 풀은 가져오기예요
AI가 “커밋할까요?”라고 물으면 현재 변경 내용을 하나의 기록으로 남길지 묻는 것입니다. 커밋에 “메모 저장 기능 추가”처럼 설명을 붙이면 나중에 어떤 상태인지 찾기 쉽습니다.
푸시는 내 쪽에 기록한 내용을 GitHub 같은 원격 저장소로 보내는 작업입니다. 풀은 원격 저장소의 변경 내용을 내 작업 공간으로 가져와 반영하는 작업입니다. 커밋을 했다고 GitHub에 올라간 것은 아니고, 푸시를 했다고 앱이 자동으로 공개되는 것도 아닙니다. 일부 서비스는 저장소 변경을 배포와 연결해 두기도 합니다.
3. GitHub는 AI와 작업한 결과를 모아둘 수 있는 곳이에요
GitHub의 저장소는 프로젝트 파일과 변경 기록을 모아두는 공간입니다. 다른 기기에서 이어서 작업하거나 다른 사람과 같은 코드를 다룰 때도 사용할 수 있습니다. 공개 저장소와 비공개 저장소를 구분할 수 있습니다.
Git은 GitHub 없이도 쓸 수 있습니다. AI가 GitHub 연결을 제안하면 “지금은 내 컴퓨터의 변경 기록만 필요한지, 온라인 보관까지 필요한지”를 먼저 설명해 달라고 하면 됩니다. 도구 이름보다 쓰려는 목적을 먼저 이해하세요.
4. AI에게 크게 바꾸라고 하기 전에 잘되는 상태를 남겨두세요
로그인 추가, 저장 방식 변경처럼 여러 부분에 영향을 주는 요청을 하기 전에는 현재 기능이 잘되는지 확인하고 기록을 남겨두는 편이 좋습니다. AI에게 지금 바뀐 파일과 기록에 들어갈 내용을 설명해 달라고 하세요.
브랜치는 기존 작업에서 갈라져 다른 변경을 시도하는 흐름입니다. AI가 별도 브랜치에서 작업하자고 하면, 기존 흐름과 새 시도를 나눠 관리하자는 뜻으로 이해하면 됩니다. 처음부터 모든 명령을 외우기보다 어떤 상태를 보존할지 분명히 말하는 것이 도움이 됩니다.
5. 이전 코드로 돌아가는 것과 메모 데이터를 복구하는 것은 달라요
Git이 주로 기록하는 것은 프로젝트 파일입니다. 별도 DB에 저장한 사용자의 메모까지 함께 복구해 주는 것은 아닙니다. “앱이 예전처럼 동작하게 해줘”와 “지워진 메모를 되찾아줘”는 해결할 대상이 다릅니다.
또 API 키와 비밀번호 같은 비밀 설정은 저장소에 포함하지 않아야 합니다. AI에게 기록할 파일을 확인해 달라고 요청하세요. 문제가 생기면 바로 전체를 되돌리기보다, 어느 변경이 문제를 일으켰는지와 현재 작업 중 보존할 부분을 먼저 설명받으면 됩니다.
설명에 참고한 공식 자료
Git 공식 문서: 버전 관리의 역할 · Git 공식 문서: push
다음 5편에서는 저장 버튼이 보이는 화면과 그 뒤에서 실제 저장을 처리하는 부분을 프론트엔드와 백엔드로 나누어 살펴봅니다.