Git과 GitHub는 얼핏 들으면 동일한 개념 같다.
간단하게 정리하면 Git은 버전 관리 시스템이고, GitHub는 Git을 저장할 수 있는 서버이다.
버전 관리 시스템(Version Control System)이란?
버전이라고 불릴 만한 유의미한 변화가 생겼을때, 그 관리를 시스템에게 맡기는 것이다.
백업한 것으로 복구한다거나, 협업을 할때 필수적인 기능이다.
버전 관리 시스템의 종류
- 로컬
쉽게 말하면 내 컴퓨터에서만 저장하고 쓰는 것이다. Git이 여기에 해당된다.- 중앙 집중식 VCS
서버에서만 버전 관리를 한다. 서버가 죽으면 모든 것이 날아간다는 치명적인 단점이 있다.- 분산식 VCS
모든 사용자가 중앙 서버에서 가져온 프로젝트를 가지고 있기 때문에 서버가 날아가도 복구가 가능하다. Mercurial, Bazaar, GitHub가 대표적인 분산식 VCS이다.
GitHub는 버전 관리를 하며 여러 사람들과 협업할 수 있다는 장점 때문에 많은 개발자들이 활용하는 시스템이다.
혼자 개발하는 사람이라면 어찌보면 GitHub가 필요하지 않다고 생각할 수도 있겠다. 그러나 장소에 구애받지 않고 개발할 수 있으며, 무엇보다 데이터가 잃어버릴 위험도 없는 매력적인 서비스를 사용하지 않을 이유도 없는 것 같다.