Git을 왜 사용할까? AI 시대 개발자가 반드시 Git을 배워야 하는 이유
Git은 단순히 소스를 저장하는 프로그램이 아닙니다. 프로젝트의 변경 이력을 관리하는 형상관리 시스템(Version Control System) 이며, 여러 개발자와 협업하고 AI와 함께 개발하는 바이브 코딩 시대에는 반드시 익혀야 하는 핵심 기술입니다. 이번 강의에서는 Git을 사용하는 이유와 형상관리의 개념, SVN과의 차이, 그리고 AI 시대에 Git이 왜 더욱 중요해졌는지 알아보겠습니다.
Git을 왜 사용할까요?
프로그램을 처음 개발하는 사람들은 이런 생각을 많이 합니다.
"파일만 잘 저장하면 되는 것 아닌가요?"
하지만 프로젝트가 커질수록 코드는 계속 수정됩니다.
새로운 기능 추가
버그 수정
디자인 변경
데이터베이스 수정
코드 리팩토링
하루에도 수십 번, 수백 번씩 프로젝트는 변경됩니다.
그렇다면 한 가지 질문을 해보겠습니다.
"어제까지 잘 되던 프로그램이 오늘 갑자기 실행되지 않는다면 어떻게 해야 할까요?"
또는
"AI가 코드를 수정했는데 프로젝트가 망가졌다면 어떻게 해야 할까요?"
이런 문제를 해결하기 위해 사용하는 것이 바로 형상관리 시스템(Version Control System) 입니다.
형상관리(Version Control)란?
형상관리란 프로젝트의 변경 이력을 기록하고 관리하는 기술입니다.
쉽게 말하면 프로젝트의 모든 저장 기록을 남기는 것입니다.
예를 들어 회원관리 프로그램을 개발한다고 가정해 보겠습니다.
1일차 : 프로젝트 생성
↓
2일차 : 회원가입 기능
↓
3일차 : 로그인 기능
↓
4일차 : 게시판 기능
↓
5일차 : 관리자 기능
↓
6일차 : 버그 수정
형상관리 시스템은 이 모든 변경 사항을 기록합니다.
그래서 언제든
이전 버전으로 되돌릴 수 있고
누가 수정했는지 확인할 수 있으며
어떤 파일이 변경되었는지도 쉽게 확인할 수 있습니다.
형상관리 시스템의 종류
Git만 있는 것은 아닙니다.
대표적인 형상관리 시스템에는 다음과 같은 것들이 있습니다.
시스템 | 특징 |
|---|---|
Git | 현재 가장 많이 사용하는 분산형 형상관리 시스템 |
SVN(Subversion) | 중앙 서버 방식으로 과거 기업에서 많이 사용 |
CVS | SVN 이전 세대의 형상관리 시스템 |
Mercurial(Hg) | Git과 비슷한 분산형 시스템 |
Perforce | 게임 개발 및 대용량 프로젝트에서 많이 사용 |
예전에는 SVN을 사용하는 회사가 많았습니다.
하지만 현재는 대부분의 IT 기업과 오픈소스 프로젝트가 Git을 사용하고 있습니다.
Git과 SVN은 무엇이 다를까요?
SVN은 중앙 서버가 모든 소스를 관리하는 방식입니다.
개발자
↓
SVN 서버
↓
다른 개발자
모든 개발자는 서버에 연결되어야만 작업할 수 있습니다.
반면 Git은 각 개발자가 프로젝트 전체를 자신의 컴퓨터에 가지고 있습니다.
개발자 A
↓
Git 저장소
↑
개발자 B
↓
Git 저장소
필요할 때만 프로젝트 허브와 동기화하면 됩니다.
덕분에 속도가 빠르고 안정성이 높으며 인터넷이 없는 환경에서도 작업할 수 있습니다.
Git과 pohang.io의 역할
이번 강의에서는 pohang.io를 프로젝트 허브로 사용합니다.
역할을 구분하면 다음과 같습니다.
Git : 내 컴퓨터에서 프로젝트의 변경 이력을 관리하는 프로그램
pohang.io : 프로젝트를 저장하고 공유하는 허브
즉,
내 컴퓨터
↓
Git
↓
pohang.io
(프로젝트 허브)
Git은 프로젝트를 관리하고,
pohang.io는 프로젝트를 안전하게 보관하고 여러 컴퓨터 또는 팀원과 공유하는 공간입니다.
Git을 사용하는 가장 큰 이유
Git을 사용하는 이유는 크게 두 가지입니다.
1. 변경 이력 관리(형상관리)
프로젝트의 모든 변경 사항을 안전하게 저장합니다.
예를 들어
회원가입 기능을 완성한 후 저장하고,
로그인 기능을 추가한 후 다시 저장하고,
게시판 기능을 만든 후 또 저장할 수 있습니다.
문제가 발생하면 언제든 원하는 시점으로 되돌릴 수 있습니다.
2. 협업
여러 명의 개발자가 하나의 프로젝트를 동시에 개발할 수 있습니다.
회원가입은 A 개발자가,
게시판은 B 개발자가,
관리자 페이지는 C 개발자가 개발한 후 하나의 프로젝트로 합칠 수 있습니다.
이것이 Git이 가장 많이 사용되는 이유였습니다.
하지만 지금은 새로운 이유가 하나 더 생겼습니다.
AI 시대에는 Git이 더욱 중요합니다.
최근 개발 방식은 크게 달라졌습니다.
예전에는 개발자가 직접 모든 코드를 작성했습니다.
하지만 지금은
ChatGPT
Claude
Gemini
Copilot
같은 AI와 함께 개발하는 바이브 코딩(Vibe Coding) 시대가 되었습니다.
즉,
이제는 사람과 사람이 협업하는 것이 아니라 AI와도 협업하는 시대입니다.
AI도 실수합니다.
AI는 매우 뛰어난 개발 도우미입니다.
하지만 항상 완벽하지는 않습니다.
예를 들어
회원가입 기능을 완성한 후
AI에게
"로그인 기능도 추가해 줘."
라고 요청했습니다.
그런데 AI가 기존 회원가입 기능까지 수정하거나 삭제했다면 어떻게 될까요?
또는 데이터베이스 구조를 잘못 변경했다면?
프로젝트 전체가 정상적으로 실행되지 않을 수도 있습니다.
Git은 AI와 협업하는 가장 안전한 방법입니다.
AI에게 새로운 기능을 요청하기 전에는 현재 상태를 Commit으로 저장합니다.
회원가입 기능 완료
↓
Commit
↓
AI에게 로그인 기능 추가 요청
↓
정상 동작
또는
오류 발생
↓
이전 Commit으로 복원
즉,
Commit은 AI에게 작업을 맡기기 전에 만드는 복원 지점(Checkpoint) 입니다.
AI가 실수하더라도 몇 초 만에 이전 상태로 되돌릴 수 있습니다.
앞으로의 개발자는 AI와 Git을 함께 사용합니다.
과거에는
개발자
↓
직접 코딩
이었습니다.
하지만 앞으로는
개발자
↓
AI에게 기능 요청
↓
AI가 코드 작성
↓
Git으로 변경 이력 관리
가 일반적인 개발 방식이 될 것입니다.
AI는 빠르게 코드를 만들어 주고,
Git은 프로젝트를 안전하게 지켜주는 역할을 합니다.
마무리
Git은 단순히 소스를 저장하는 프로그램이 아닙니다.
프로젝트의 변경 이력을 관리하고,
여러 개발자와 협업하며,
AI와 함께 개발하는 시대에 프로젝트를 안전하게 보호하는 가장 중요한 도구입니다.
바이브 코딩을 시작한다면 Git은 선택이 아니라 필수입니다.
AI는 개발 속도를 높여 주지만, Git은 그 프로젝트를 안전하게 지켜주는 든든한 보험이 되어 줄 것입니다.
FAQ
Q1. Git과 GitHub는 같은 것인가요?
아닙니다. Git은 프로젝트의 변경 이력을 관리하는 프로그램이고, GitHub나 pohang.io는 프로젝트를 저장하고 공유하는 원격 저장소입니다.
Q2. Git을 혼자 개발할 때도 사용해야 하나요?
물론입니다. 혼자 개발하더라도 실수로 코드를 삭제하거나 프로젝트가 망가질 수 있기 때문에 Git은 매우 유용합니다.
Q3. AI가 코드를 잘 작성하는데 Git이 꼭 필요한가요?
필요합니다. AI도 잘못된 코드를 생성하거나 기존 기능을 의도치 않게 수정할 수 있습니다. Git으로 Commit을 해두면 언제든 이전 상태로 복원할 수 있어 안전하게 AI와 협업할 수 있습니다.
다음 강의 예고
다음 강의에서는 Windows에서 Git을 설치하는 방법과 설치 옵션의 의미를 하나씩 살펴보겠습니다. 설치가 끝나면 본격적으로 Git 명령어를 배우며 프로젝트의 변경 이력을 직접 관리해 보겠습니다.
로그인하면 진도를 저장할 수 있습니다.