Git은 버전을 편리하게 관리할 수 있도록 도와주는 도구이다.
작업을 하다 과거에 작업하던 파일들을 불러올 수 있도록 한다. 많은 개발자들이 프로젝트를 깃허브에서 관리하고 있고 회사에서도 협업을 위해 사용하고 있기 때문에 꼭 배워야되는 것 중 하나이다!\
깃은 VCS(Version Control System)중 하나이다.
나는 Git이 코드만 관리할 수 있는 건 줄 알았는데 TXT나 자신의 노트파일을 버전으로 관리해서 git과 연동해서 사용할 수도 있고,
디자이너들은 이미지같은 그래픽file뿐만 아니라 다양한 layout파일들을 관리할 수 있다고 한다.
VCS가 나오기 전엔 내 컴퓨터에 있는 파일에 버전의 이름을 일일이 붙여서 관리를 했는데 그게 너무 불편하니 CVS subversion perforce같은게 나왔다.
얘네들은 CVC라고 부르는데 Centralized Version Control의 약자이다.
CVC는 서버의 히스토리를 관리해서 각각의 개발자들이 원하는 내용을 서버에 업데이트해서 즉각적으로 동기화가 이뤄지는 시스템인데 서버에 서버에 문제가 생기면 일을 못한다는게 문제이다.
이런 문제들을 개선하기 위해서 DVC(Distributed Version Control)가 나왔다.
DVC는 Git, mercurial, darcs와 같은 애들인데 CVC와 달리 서버에만 히스토리가 있는 게 아니라 각각의 개발자 모두에게 그 히스토리가 있기 때문에 CVC에 단점을 완전히 보완했다고 볼 수 있다.
이런 서버는 회사나 특정한 곳에만 쓰일 수 있는 Private Server가 있고
github나 Bitbucket같은 cloud를 이용한다. 여기서 Github가 대중적으로 이용되고 있다.
깃을 사용하는 이유?
1. 많은 사람들이 쓰고있다
2. 무료이다.
3. 오픈소스이다.
4. 모든 동작들이 굉장히 빠르다.
-그 이유는 이전에 버전을 올리고 수정하지 않았던 부분은 다음 버전을 올렸을 때 이전에 올렸던 부분의 링크를 가르키기 때문이다.
5. 실수를 했더라도 전 버전을 다시 받아와서 사용할 수 있기때문에 오류를 고치기 굉장히 쉽다.
6. 브랜치를 각각의 기능별로 만들어서 잘 사용할 수 있다면 협업에 굉장히 효율적으로 쓸 수 있다.