Git - 버전 관리 시스템의 일종으로 형상관리 도구이다.
중앙서버에서 소스코드와 히스토리를 모두 관리하는 SVN과는 달리 여러 개발 PC와 저장소에서 분산해서 저장한다. 그렇기 때문에 훨씬 빠르고 병렬 개발이 가능하다.
인터넷이 없는 상태에서도 개발을 진행 할 수 있고, 중앙장소가 날라가 버려도 원상복구 할 수 있다.
- 깃 관련 용어
- Repository : 저장소를 의미하며, 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다. 저장소를 통해 작업자가 변경한 모든 히스토리를 확인 할 수 있다.
- Working Tree : 저장소를 어느 한 시점을 바라보는 작업자의 현재 시점.
- Staging Area : 저장소에 커밋하기 전에 커밋을 준비하는 위치.
- Commit : 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업.
- Head : 현재 작업중인 Branch를 가리킨다.
- Branch : 가지 또는 분기점을 의미하며, 작업을 할때에 현재 상태를 복사하여 Branch에서 작업을 한 후에 완전하다 싶을때 Merge를 하여 작업을 한다.
- Merge : 다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미한다.
Github - 깃(Git)을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스