1. Git이란 무엇인가?
Git은 파일과 코드의 변경 기록을 저장하고 관리하는 도구이다.
쉽게 말해, “코드의 타임머신”이라 할 수 있다.
개발 과정에서 코드는 계속 바뀐다. 새로운 기능이 추가되고, 버그가 수정되며, 때로는 실수로 문제가 생기기도 한다.
Git은 이러한 모든 변경 사항을 기록하여, 언제든지 과거 상태로 되돌아갈 수 있게 해주는 버전 관리 시스템(VCS, Version Control System)이다.
Git은 혼자 쓸 수도 있지만, 여러 명이 동시에 협업할 때 진가를 발휘한다. 누가 언제 어떤 코드를 수정했는지 추적할 수 있고, 충돌(conflict)이 생기면 서로의 변경 사항을 비교하면서 합칠 수 있다.
2. Github란 무엇인가?
Git이 코드의 변경 이력을 관리하는 도구라면,
Github는 그 Git 저장소를 인터넷에서 공유하고 협업할 수 있게 하는 웹 서비스이다.
Github를 이용하면 코드 저장소를 클라우드에 업로드하여 다른 사람과 협업할 수 있다.
또한 오픈소스 프로젝트에 기여하거나, 자신의 포트폴리오를 공개하는 용도로도 활용된다.
정리하자면,
- Git → 버전 관리 도구
- Github → 그 버전을 인터넷에서 공유하고 협업하는 플랫폼
3. 버전 관리란 무엇인가?
버전 관리란 코드의 상태를 시간의 흐름에 따라 저장하고,
과거 상태로 되돌릴 수 있게 하는 시스템이다.
예를 들어, 한 파일의 버전을 다음과 같이 관리할 수 있다.
- ver1 → 첫 번째 코드
- ver2 → 새로운 기능 추가
- ver3 → 버그 수정
Git은 이러한 버전을 자동으로 관리하고 비교할 수 있게 해준다.
4. 로컬 vs 원격 저장소
Git은 로컬(내 컴퓨터)에서도 사용할 수 있다.
로컬에서 버전을 관리하면 인터넷 연결 없이도 코드 변경 이력을 추적할 수 있다.
하지만, 로컬 저장소는 협업과 백업 측면에서 한계가 있다.
- 팀원 간의 코드 공유가 어렵다
- 컴퓨터가 고장나면 코드가 사라질 수 있다
그래서 등장한 개념이 분산형 버전 관리 시스템(Distributed VCS)이다.
5. 분산형 버전 관리 시스템
Git은 분산형 버전 관리 시스템이다.
이는 “모든 개발자가 저장소 전체를 복사해서 로컬에 보관”한다는 의미이다.
즉, 중앙 서버가 사라지더라도 로컬에 모든 히스토리와 버전이 남아 있기 때문에 복구가 가능하다.
이러한 구조 덕분에 Git은 안정성과 신뢰성이 높다.
6. 다양한 Git 기반 플랫폼들
Git을 기반으로 한 코드 관리 플랫폼은 다양하다.
1️⃣ GitLab
- Github와 거의 동일한 기능을 제공
- 기업 내부망에 설치할 수 있는 온프레미스(자체 서버) 버전 제공
- 보안이 중요한 기업 환경에서 많이 사용됨
2️⃣ Gerrit
- Google에서 개발한 코드 리뷰 중심 플랫폼
- 협업 시 코드 병합 전에 반드시 리뷰와 승인 절차를 거침
- 코드 품질을 중요시하는 대기업이나 공공기관 환경에서 사용됨
3️⃣ BitBucket
- Atlassian에서 개발한 유료 플랫폼
- 프로젝트 관리 도구 Jira와의 통합이 강력
- 기업용 협업 환경에서 생산성을 극대화하는 데 최적화됨
Git은 개발자가 코드를 신뢰할 수 있는 형태로 남기고, 협업을 효율적으로 수행할 수 있게 해주는 핵심 시스템이다.
Github, Gitlab, BitBucket 등은 모두 Git을 기반으로 발전했으며,
개발자는 어느 플랫폼을 사용하더라도 Git의 기본 원리를 이해하고 있어야 한다.
'IT > Git & GitHub' 카테고리의 다른 글
Git 핵심 개념 (0) | 2025.10.12 |
---|---|
Git Merge 옵션 : --ff, --no-ff, --squash (1) | 2025.08.29 |
Git 커밋 메시지 규칙 (0) | 2024.10.26 |
GitHub (0) | 2024.08.03 |