개발자 간의 협업을 위해 전체 개발 소스를 공유하면서 개발 파트를 나눌 수 있고 같은 모듈을 개발하더라도 소스를 공유하며 개발할 수 있기 때문!
git은 본인의 코드와 그 수정내역을 기록하고 관리하도록 돕는 버전 관리 프로그램이며, 로컬에서 프로젝트의 기록을 스스로 관리할 수 있도록 해줍니다.
git을 통해 브랜치를 생성하고 이전 브랜치로 복구, 삭제, 병합이 가능합니다. 하지만 로컬 저장소를 사용하기 때문에 다른 개발자와 실시간으로 작업을 공유할 수 없습니다.
github는 git 저장소를 관리하는 클라우드 기반 호스팅 서비스입니다. git 저장소 호스팅 서비스는 클라우드 기반으로 다른 사람과 소스코드 공유가 가능하며 git의 기본적인 기능을 확장하여 제공합니다.
또한 클라우드 서버에 소스를 올리기 때문에 한 프로젝트에 여러 명의 사람이 참여하여 버전 제어 및 공동 작업이 가능합니다.
Git은 로컬에서 버전 관리 시스템을 운영하는 방식이고 Github는 저장소를 깃허브에서 제공해주는 클라우드 서버를 이용한다는 것의 차이입니다.
- Git은 로컬용 버전 관리 '프로그램'
- Github는 버전 관리, 소스 코드 공유, 분산 버전 제어 등등이 가능한 원격 저장소
버전 관리 시스템(VCS)이란 쉽게 말해 코드가 변경된 부분을 모두 기억해준다는 의미입니다.
코드가 수정될 때마다 파일로 일일이 따로 저장해주거나 수동으로 백업해두기는 매우 번거로운 일인데, 이런 일을 대신해줍니다.
어떤 부분이 수정됐는지 쉽게 볼 수 있고 수정된 부분을 이전 버전으로 롤백 하는 등의 편리한 기능들을 가지고 있습니다. 코드 수정에 따른 위험성을 줄일 수 있기 때문에 개발자에게 필수적인 시스템이라고 할 수 있습니다.