목차
Git이란?
Git이란 2005년 리누스 토발즈가 개발하였다. Git은 분산 버전 관리 시스템(DVCS)의 일종이며, 형상 관리 도구(Configuration Management Tool)이다. 여러 명의 사용자들과 소프트웨어를 개발하는 소스코드를 효과적으로 관리할 수 있게 도와준다.
Git의 특징
버전관리
- Git이란 소스 코드를 효과적으로 관리하기 위해 개발된 ‘분산형 버전 관리 시스템’입니다.
- Git에서 소스 코드가 변경된 이력을 쉽게 확인이 가능하다. 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있다.
원격 저장소와 로컬 저장소
- 원격 저장소(Remote Repository): 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
- 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소
평소에는 내 PC의 로컬 저장소(Branch)에서 작업하다가 작업한 내용을 공개하고 싶을 때는 원격 저장소에 업로드(Merge) 합니다. 원격 저장소에 다른 사람이 작업한 파일을 로컬 저장소로 가져올 수도 있습니다.
준비영역(Staging area)
Working directory -> Staging area -> Repository
Git의 ‘커밋’작업은 ‘작업 트리’에 있는 변경 내용을 저장소에 바로 기록하는 것이 아니라 그 사이 공간(가상공간)인 ‘인덱스’에 파일 상태를 기록합니다. 이는 스테이징 한다고 표현하기도 합니다.
예를 들어 10개의 파일을 수정했지만 그중에 6개만 저장소에 공개하고 싶을 때, 수정한 10개의 파일 중 6개를 선택하는 작업이 ‘스테이징’ 또는 ‘인덱스에 등록’이라고 표현하는 작업 입니다. 이후 스테이징 된 파일들을 커밋 하여 6개만 저장소에 기록할 수 있습니다.
속도
Git은 C언어로 작성되어 속도가 빠릅니다. Git의 디자인 목표가 속도와 성능이라고 합니다.
오픈소스
소스코드를 공개하여 누구나 프로젝트의 발전에 기여할 수 있도록 하였다.
Git을 사용하는 이유
개인이 아닌 여러 명이서 프로젝트를 진행할 경우, 각자 개발한 파일을 하나로 합치는 과정의 번거로움을 생략할 수 있다.
개발도중 문제가 생겼을 때, 이전에 만들어진 모든 변경사항의 ‘스냅샷’을 저장하기 때문에 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있습니다.
GitHub란?
깃허브는 깃을 지원하는 웹 호스팅 서비스 시스템의 한 종류이다. 쉽게 말하면 깃이 저장소(Repository)로 사용하는 클라우드라고 보면 된다. 따라서 로컬에 있는 데이터를 깃허브에 업로드할 수 있고, 다운로드도 할 수 있다.
깃허브에는 많은 개발자들이 올려놓은 소스코드나 프로젝트들을 구경할 수 있다. 소셜 네트워크 서비스를 제공하여 다른 개발자들과 소통이 가능하다. 따라서 GitHub는 오픈소스의 성지라고도 불린다.
GitHub링크 : https://github.com