GitHub란 무엇인가요? 비개발자를 위한 버전 관리
GitHub는 소프트웨어 프로젝트의 코드를 전체 이력과 함께 보관하는 웹사이트입니다. 덕분에 모든 변경 사항을 확인하고, 실수를 되돌리고, 다른 사람과 같은 프로젝트에서 함께 작업할 수 있습니다. GitHub는 프로젝트 파일의 스냅숏을 시간 순으로 기록하는 무료 소프트웨어인 Git 위에서 동작합니다. 이력을 기록하는 도구가 Git이고, 그 이력을 공유하고 백업하고 논의하는 온라인 공간이 GitHub입니다.
AI로 만드는 경우 GitHub는 주로 두 가지에 쓰입니다. 하나는 코드를 만든 도구 바깥에 코드 사본을 직접 보관하는 것이고, 다른 하나는 개발자가 이미 쓰는 형식으로 개발자에게 넘기는 것입니다.
AI로 만들 때 중요한 이유
AI 앱 빌더는 코드를 빠르게 많이 쓰고 바꾸는데, 그 변경이 모두 개선은 아닙니다. 버전 관리는 이런 상황에서 안전하게 작업하는 방법입니다.
- 자신 있게 되돌리기. 저장된 변경 하나하나가 스냅숏입니다. AI가 무언가를 망가뜨리면 마지막으로 잘 작동하던 버전으로 돌아가면 됩니다.
- 소유권. 내 GitHub 계정에 있는 코드는 도구를 바꾸거나, 유료 구독을 끊거나, 다른 의견을 듣고 싶을 때도 계속 내 것입니다.
- 개발자와 협업. 거의 모든 개발자는 매일 Git을 사용합니다. 저장소가 있으면 개발자가 AI가 작성한 코드를 검토하고, 고치고, 변경 사항을 다시 보낼 수 있습니다.
- 다른 곳에 배포. 많은 호스팅 플랫폼이 GitHub 저장소에서 바로 배포할 수 있습니다.
일상적인 비유: 변경 내용 추적 + 공유 드라이브
변경 내용 추적 기능을 켜 둔 문서를 공유 드라이브에 보관한다고 생각해 보세요.
- Git은 변경 내용 추적입니다. 모든 수정이 누가, 언제, 왜 했는지와 함께 기록되고, 어느 버전으로든 되돌릴 수 있습니다.
- GitHub는 공유 드라이브입니다. 문서가 온라인에 있고, 다른 사람이 사본을 받을 수 있으며, 댓글을 달고 승인할 수 있는 곳이 있습니다.
- 브랜치는 "초안 — 새 가격 섹션" 같은 이름으로 사본을 저장해 두는 것과 같습니다. 모두가 의존하는 버전을 건드리지 않고 실험할 수 있습니다. 실험이 잘 되면 원래 버전에 합칩니다.
문서와 다른 점은 규모입니다. 앱은 수백 개의 파일로 이루어져 있고, Git은 이 파일들을 모두 함께 추적하므로 스냅숏 하나가 프로젝트 전체의 상태를 담습니다.
만나게 될 Git과 GitHub 용어
| 용어 | 쉬운 설명 |
|---|---|
| 저장소(repository, repo) | 전체 이력을 담은 프로젝트 폴더 |
| 커밋(commit) | 변경 사항을 간단한 메시지와 함께 저장한 스냅숏 |
| 브랜치(branch) | 실험이 주 버전을 건드리지 않도록 나눈 별도의 작업 줄기 |
| main | 기본 브랜치의 보통 이름이며, 실제 서비스에 올라가는 버전 |
| 병합(merge) | 한 브랜치의 변경 사항을 다른 브랜치에 가져오는 것 |
| 병합 충돌(merge conflict) | 두 변경이 같은 줄을 건드린 상태로, 어느 쪽을 남길지 누군가 골라야 함 |
| 클론(clone) | 이력까지 포함한 저장소 전체 사본을 내려받는 것 |
| 푸시 / 풀(push / pull) | 내 커밋을 GitHub로 올리기 / 다른 사람의 커밋을 내려받기 |
| 풀 리퀘스트(pull request, PR) | 브랜치를 합치자고 제안하는 GitHub 페이지로, 사람들이 여기서 변경 사항을 검토하고 논의함 |
| 포크(fork) | GitHub에서 다른 사람의 저장소를 내 계정으로 복제한 사본 |
| 이슈(issue) | 저장소에 붙는 GitHub 할 일 또는 버그 보고 |
.gitignore | Git이 절대 기록하지 않아야 할 파일 목록으로, .env 비밀 정보나 내려받은 의존성 등이 해당됨 |
| GitHub Actions | GitHub에서 실행되는 자동화로, 예를 들어 모든 풀 리퀘스트마다 테스트를 돌림 |
두 가지는 특히 강조할 만합니다. 첫째, Git 이력은 설계상 영구적입니다. 비밀번호를 커밋해서 푸시했다면 나중 커밋에서 지워도 이력에서는 사라지지 않습니다. 둘째, 커밋은 메시지가 얼마나 명확한지에 따라 유용성이 갈립니다. "두 사람이 동시에 예약할 때 예약 중복 집계 수정"이라는 메시지는 나중에 도움이 되지만, "업데이트"라는 메시지는 그렇지 않습니다.
실제 예시: AI로 만든 앱을 프리랜서에게 넘기기
AI 앱 빌더로 고객 포털을 만들었습니다. 잘 작동하지만, 회계 소프트웨어와 연동하는 까다로운 기능을 프리랜서 개발자가 추가하기를 원합니다.
- 프로젝트를 새 비공개 GitHub 저장소에 연결하고 푸시합니다. 이제 저장소에 코드와 이력이 함께 들어갑니다.
- 무엇이 들어갔는지 확인합니다. GitHub에서 저장소를 열어 보세요.
.env파일이나 코드 속 API 키가 없어야 합니다. 비밀 정보는 플랫폼 설정에 두고, 필요하다면 프리랜서와 따로 공유합니다. 자세한 내용은 환경 변수와 비밀 정보를 참고하세요. - 프리랜서를 그 저장소에만 협업자로 초대합니다.
- 프리랜서는
accounting-sync같은 이름의 브랜치에서 작업하고, 진행하면서 커밋한 뒤 끝나면 풀 리퀘스트를 엽니다. - 풀 리퀘스트를 검토합니다. 코드를 읽지 않아도 설명을 읽고, 바뀐 파일을 확인하고, 댓글로 질문할 수 있습니다.
- 만족하면 병합하고, AI 빌더에서 풀을 해서 새 버전을 가져오면 나와 AI가 그 버전부터 이어서 작업할 수 있습니다.
이 과정 내내 무엇이 바뀌었는지 정확히 볼 수 있고, 필요하면 되돌릴 수 있습니다. 한 번의 작업 흐름에서 버전 관리가 주는 가치가 바로 이것입니다. 개발자를 고용할지 고민 중이라면 개발자를 고용할지 AI로 만들지를 참고하세요.
흔한 실수와 오해
- "GitHub와 Git은 같은 것이다." Git은 GitHub 없이도 동작하며, GitLab이나 Bitbucket 같은 대안도 Git 저장소를 호스팅합니다.
- "GitHub가 앱을 실행해 준다." GitHub는 코드를 보관합니다. 앱을 일반 사용자에게 실행해 주려면 웹 호스팅이 필요하며, 이는 별개의 서비스입니다(일부 호스트는 GitHub에서 직접 배포하기도 합니다).
- 비밀 정보 커밋. 가장 큰 피해를 주고 가장 흔한 실수입니다.
.env파일은.gitignore에 넣고, 한 번이라도 푸시된 키는 반드시 교체하세요. - 브랜치 하나에 메시지 없이 작업. 혼자 하는 실험에는 괜찮지만, 위험한 작업에는 명확한 커밋 메시지를 쓰고 브랜치를 사용하세요.
- 두 곳에서 동시에 편집. GitHub와 AI 빌더 양쪽에서 중간에 동기화하지 않고 코드를 바꾸면 충돌이 생깁니다. 한 번에 한 곳에서만 편집하고, 전환하기 전에 동기화하세요.
- 비공개 저장소가 모든 것의 백업이라고 생각하기. 저장소에는 코드만 있고, 데이터베이스 내용이나 업로드된 파일은 들어 있지 않습니다. 이것들은 별도로 백업해야 합니다.
AI 빌더에 요청하면 좋은 것
- "
.env, 의존성 폴더, 빌드 결과물을 제외하는.gitignore를 추가해 줘." - "설치 방법, 필요한 환경 변수 이름(값은 제외), 실행 방법을 설명하는 README를 작성해 줘."
- "모든 변수 이름을 담되 실제 값은 없는
.env.example을 추가해 줘." - "각 변경마다 명확하고 설명적인 커밋 메시지를 사용해 줘."
이 네 가지 요청만으로도 개발자가 몇 분 안에 이어받을 수 있는 저장소가 만들어집니다. 앱을 내 서버로 옮기려면 AI로 만든 앱을 내보내고 직접 호스팅하는 방법을, 실제 사용자 앞에 내놓기 전에 다듬으려면 AI 프로토타입을 프로덕션으로 옮기는 방법을 참고하세요.
GitHub와 Mythex
Mythex는 모든 플랜에서 이력을 대신 보관합니다. AI 에이전트의 작업 턴이 성공할 때마다 체크포인트를 저장하는데, 이는 되돌아갈 수 있는 Git 스냅숏입니다. Pro 플랜에서는 GitHub를 연결해 내 저장소와 프로젝트를 푸시하거나 풀할 수 있고, 프로젝트 전체를 압축 파일로 내려받을 수도 있습니다. 내보내기에서는 비밀 정보와 설치된 의존성이 제외됩니다. 여기서 GitHub는 코드 동기화를 위한 것이며, Mythex에 로그인하기 위한 것이 아닙니다. 자세한 내용은 문서의 GitHub, 내보내기와 가져오기를, 각 플랜에 포함된 내용은 요금 페이지를 참고하세요.
자주 묻는 질문
Git과 GitHub의 차이는 무엇인가요?
Git은 어떤 컴퓨터에서든 프로젝트 파일의 변경 이력을 기록하는 무료 소프트웨어입니다. GitHub는 Microsoft가 운영하는 웹사이트로, Git 저장소를 온라인에 보관하고 풀 리퀘스트, 이슈, 자동화 같은 협업 도구를 더해 줍니다.
AI로 앱을 만들려면 GitHub가 필요한가요?
아니요. 많은 AI 앱 빌더가 제품 안에서 이력을 대신 보관해 줍니다. GitHub는 코드의 내 사본을 갖고 싶거나, 개발자와 함께 작업하거나, 앱을 다른 곳에 호스팅할 계획일 때 유용해집니다.
GitHub는 무료인가요?
GitHub에는 공개 저장소와 비공개 저장소를 모두 포함하는 무료 플랜이 있으며, 대부분의 개인과 소규모 팀에는 이것으로 충분합니다. 유료 플랜은 팀 관리와 추가 기능을 제공하니, 최신 정보는 GitHub 가격 페이지에서 확인하세요.
내 코드가 GitHub에 공개되나요?
저장소를 공개로 설정한 경우에만 공개됩니다. 비공개 저장소는 나와 내가 초대한 사람만 볼 수 있습니다. 비공개 저장소라도 비밀번호나 API 키는 절대 커밋하지 마세요.