git?
소스 코드를 효율적으로 관리하기 위해 만들어진 분산형 버전 관리 시스템이다.
여기서 버전 관리란, 예를 들어 어떤 문서를 작성한다고 했을때, 처음에 문서의 이름을 document.txt라고 했다가 수정을 거치면서 document_2.txt document_3.txt, document_final.txt 등으로 저장하며 파일들을 수정, 복사, 백업등을 수행한다 이러한 것을 버전 관리라고 한다.
git은 이러한 버전 관리를 쉽고 효율적으로 할 수 있도록 도와준다.
git의 특징
소스코드를 직접 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능.
즉, 브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식(Merge)으로 버전 관리가 용이해져 협업 효율과 생산성이 증가.
인터넷이 연결되어 있지 않아도 개발이 가능하며, 항상 network에 접속할 필요 없이 각 local에서 대부분의 작업을 할 수 있기 때문에 가볍고 빠르다.
팀 프로젝트가 아닌, 개인 프로젝트일지라도 GIT을 통해 버전 관리를 하면 체계적인 개발이 가능해지고, 프로그램이나 패치를 배포하는 과정도 간단해진다. (pull을 통한 업데이트, patch 파일 배포)
개발자와 서버 저장소를 독립적으로 관리할 수 있는 분산 작업이 가능하며, 중앙 저장소에 문제가 생겨도 복구가 쉽다.
소스코드의 수정 내용이 커밋 단위로 관리되고, 패치 형식으로 배포할 수 있기 때문에 프로그램의 변동 과정을 체계적으로 관리할 수 있고, 언제든지 지난 시점의 소스코드로 점프(Checkout)할 수 있다.
참고
[GIT] Git이란?