git은 로컬에서 버전을 관리할 수 있는 오픈 소스 버전 관리 시스템이다. 개발자는 git을 이용해 코드를 관리하고 수정내용을 기록으로 남길 수 있다. 개발자는 git을 이용해 branch를 통해 여러 코드를 작성해보고 잘 동작하는 코드를 merge하며 안전한 버전관리가 가능하다. 하지만 git은 로컬 저장소로 다른 개발자와 실시간으로 코드를 공유하며 협업 작업에 적합하지 않다. 이를 보완해서 있는 개발도구가 github이다.
github는 쉽게 말해 원격 저장소이다. 원격의 저장소를 두고 로컬에서 관리되는 소스를 클라우드 서버(원격 저장소)에 업로드하여 다른 개발자와 실시간 코드 공유를 가능하게 한다. github는 git이 가진 기능을 확장시켜 여러 개발자가 공동으로 작업할 수 있는 저장소를 제공한다고 생각하면 쉽다. 따라서 github에서도 branch를 사용해 각각의 개발자가 기능을 나누어서 구현하는 것이 가능하다.
그 외에 github는 원격 저장소로 수 많은 개발자들과 코드를 공유하고 오픈소스 프로젝트를 확인할 수 있는 공간이기도 하다.