Git이 버전 관리를 하는 입장에서는 이 3가지 영역으로 나눠서 동작하게 됩니다.
워킹 디렉터리(Working Directory) : 실제 작업하는 영역
스테이지(Stage) : 저장소에 저장할 내용을 임시로 보관하고 있는 영역
저장소(Repository) : 스테이지의 내용을 스냅샷으로 최종 저장해 놓는 영역
Git 영역에서 지켜야 할 대표적인 규칙으로는
작업은 워킹 디렉터리에서 하고,
저장소에 기록하기 위해서는 반드시 스테이지 영역에 임시로 정리를 해야 한다는 것입니다.
위의 그림처럼 Git의 세계에서는 실세계에서 우리가 작업하는것 모든것을 기록하게 됩니다.
github는 git 저장소를 관리하는 클라우드 기반 호스팅 서비스입니다. git 저장소 호스팅 서비스는 클라우드 기반으로 다른 사람과 소스코드 공유가 가능하며 git의 기본적인 기능을 확장하여 제공합니다. 또한 클라우드 서버에 소스를 올리기 때문에 한 프로젝트에 여러 명의 사람이 참여하여 버전 제어 및 공동 작업이 가능합니다.
Git으로 로컬 저장소에 작업한 내용을 저장한 뒤 해당 작업물을 Github에 업로드 하는 형식으로 사용하게 된다. 또한 Github에 있는 작업물들을 내려받을 수도 있다.