Kai 127 14
게시물 메뉴

요즘 Git에 대해 궁금해하시는 분들이 많아져서 한번 쉽게 풀어보려고 합니다.

진짜 초보용입니다. 
고수님들은 편하게 패스해주세요 ㅋㅋ

일단 Git이 뭔데?

Git은 소스코드의 버전을 관리하는 도구입니다.

예전에는 이걸 ‘형상관리’라고 많이 불렀죠.

쉽게 설명한다면서 형상관리부터 나오면 바로 창 닫고 싶으니 ㅋㅋ 
회사 문서로 예를 들어보겠습니다.

회사에 ‘사내 규정.docx’라는 문서가 있다고 해볼게요.

이게 계속 개정되면서

v1 
v2 
v3 
... 
v10

이렇게 바뀌어 왔습니다.

최신 파일 하나만 김대리 PC에 있다면?

김대리가 실수로 지울 수도 있고, 누군가 잘못 수정해서 저장할 수도 있고, 어제 내용으로 되돌리고 싶은데 이미 덮어썼을 수도 있습니다.

그래서 변경할 때마다 그 시점의 상태를 기록해두는 겁니다.

이걸 해주는 게 Git입니다.

그리고 그 기록을 안전하게 보관해두는 온라인 창고가 GitHub, GitLab 같은 곳이라고 생각하시면 됩니다.

그럼 프로젝트 폴더를 통째로 다 넣으면 되나요?

여기서 또 하나만 이해하면 됩니다.

사내 규정 문서를 만든다고 생각해볼게요.

문서를 만들면서 관련 법령이 들어있는 두꺼운 PDF도 참고하고, 인터넷에서 받은 자료도 보고, 개인적으로 정리한 노트도 참고할 수 있습니다.

하지만 최종 사내 규정을 복구하는 데 필요하지 않은 자료까지 전부 창고에 넣을 필요는 없겠죠.

개발도 똑같습니다.

다운로드해서 다시 만들 수 있는 것, 자동으로 생성되는 것, 용량만 엄청 큰 것들은 굳이 Git에 넣지 않습니다.

그리고 더 중요한 것.

비밀번호, API Key 같은 비밀정보는 넣으면 안 됩니다.

GitHub 같은 창고는 다른 사람이 접근할 수도 있고, 실수로 공개 저장소가 될 수도 있습니다.

쉽게 생각하면

“이 소스를 다른 컴퓨터에서 받아서 다시 서비스를 살릴 때 필요한 것들”

위주로 넣는다고 생각하시면 됩니다.

여기까지가 이론입니다

문제는 막상 Git을 쓰려고 하면 갑자기 어려워집니다.

commit, push, pull, branch, merge, rebase, checkout...

뭐가 엄청 많습니다 ㅋㅋ

저도 처음 배울 때는 
“코드 저장한다면서 왜 공부할 게 이렇게 많아?” 싶었습니다.

Git이 복잡해지는 가장 큰 이유 중 하나는 여러 사람이 같은 프로젝트를 동시에 수정하기 때문입니다.

다시 사내 규정으로 돌아가볼게요.

김대리에게 복리후생 부분을 고치라고 했는데 이대리도 동시에 같은 부분을 자기 스타일대로 고쳐버렸습니다.

둘 다 수정했으니 Git 입장에서는

“그래서 누구 걸 최종본으로 할 건데?”

가 됩니다.

이게 흔히 말하는 **충돌(Conflict)**입니다.

결국 부장님이 둘 다 보고 필요한 내용을 합쳐서 최종본에 반영해야겠죠.

Git도 비슷합니다.

원리를 알고 보면 그렇게 무서운 놈은 아닙니다.

자, 이제 진짜 바이브코더용 팁입니다

우리가 Git의 모든 명령어를 외울 필요는 없습니다.

저는 오히려 원리와 목적을 이해하는 게 더 중요하다고 생각합니다.

초보라면 일단 두 가지만 기억하세요.

1. 내 소스가 날아가도 다시 받아서 서비스를 살릴 수 있어야 한다

2. AI가 코드를 잘못 고쳐도 이전 정상 버전으로 돌아갈 수 있어야 한다

저는 이게 가장 중요하다고 봅니다.

그리고 실행은 AI에게 맡기면 됩니다.

GitHub를 쓴다면 gh도 설치하세요

GitHub를 사용한다면 저는 gh라는 GitHub 공식 CLI도 같이 설치하는 걸 추천합니다.

Windows / macOS / Linux 모두 설치 가능합니다.

설치 후에는 gh auth login으로 GitHub 계정 인증을 해두면 됩니다.

그리고 이걸 AI에게 시키세요

프로젝트의 에이전트 지침에 아래 내용을 넣어두면 됩니다.

앞으로 이 프로젝트는 GitHub를 통해 소스를 관리한다.

소스를 수정하기 전에 현재 Git 상태와 브랜치를 확인한다.

새로운 작업을 시작할 때는 작업 내용을 알아볼 수 있는 이름으로 브랜치를 만들고 작업한다.

의미 있는 작업 단위가 끝나면 변경사항을 정리해서 알려주고 GitHub에 반영할지 나에게 확인한다.

내가 반영하라고 하면 필요한 commit, push, merge 등의 작업을 진행하고 다음 개발을 시작할 수 있는 깨끗한 상태로 정리한다.

비밀번호, API Key, 인증정보, .env 등 민감한 정보는 절대 Git에 올리지 않는다.

Git 작업 중 충돌이나 기존 작업을 덮어쓸 가능성이 있다면 임의로 처리하지 말고 먼저 나에게 알려준다.

이 정도를 넣어두고

“앞으로 이 지침 지켜줘.”

라고 하면 요즘 에이전트들은 웬만한 Git 작업을 알아서 해줍니다.

명령어보다 개념만 이해해도 됩니다

물론 Git을 제대로 배우면 훨씬 좋습니다.

하지만 바이브코딩을 시작한 초보분이 branch, merge, rebase부터 외우다가 지칠 필요는 없다고 생각합니다.

개념은 내가 이해하고, 실행은 에이전트에게 맡기기.

그러다가 어느 날 사고가 납니다. ㅋㅋ

AI가 코드를 이상하게 고쳤거나 어제까지 잘 되던 게 갑자기 안 됩니다.

그때 쌓아둔 Git 기록을 보면서

“여기까지는 잘 됐었는데? 이 상태로 돌려줘.”

하면 됩니다.

그 순간 왜 Git을 쓰는지 바로 이해하게 됩니다.

Git = 내가 만든 것의 세이브 포인트

쉽게 설명한다고 했는데 이것도 어려웠다면 죄송합니다 ㅋㅋ

딱 하나만 기억하셔도 됩니다.

Git = 내가 만든 것의 세이브 포인트

게임하면서 세이브 포인트 없이 보스전 들어가진 않잖아요.

바이브코딩은 AI가 코드를 엄청난 속도로 고치기 때문에 오히려 Git이 더 중요합니다.

개념만 익히세요.

명령어는 에이전트한테 시키면 됩니다.

그리고 나중에 사고 나면 차곡차곡 쌓아둔 세이브 포인트에서 정상 버전 찾아서 다시 시작하면 됩니다. :)

더 자세한 설명은 아래 블로그에서 확인하실 수 있어요! 👇

https://goodtek.xyz/blog/baibeukoding-coboreul-wihan-git-sayongbeob-myeongryeongeoneun-molrado-igeosman-almyeon-doebnida/