Git 이란?
Git은 리눅스의 창시자 리누스 토발즈가 만든 분산 버전 관리 시스템이다.
리눅스를 개발하는데 사용되었고, 현재도 많은 사람들이 사용하고 있다.
Git이란, ‘소스코드를 저장’하는 저장소 이다.
누가 언제 어떤 파일에서 어떤 부분을 왜 바꾸었는지를 변경이 생길 때 마다 추적할 수 있도록 체계적으로 관리해 주는 기능을 하는게 '소스코드 저장소'이고 보통 이걸 'Repository'라고 부른다.
분산형 버전관리 시스템(DVCS, Distributed Version Control System)이며 C언어로 구현되었다.
버전 관리시스템은 당신이 어떤 파일 집합에 대한 히스토리를 생성하고 관리할 수 있도록 도우며 특정 다른 상태(어느 시점)으로 복귀(Revert)할 수 있는 기능을 가지고 있다.
파일 집합은 주로 소스코드들이다. 분산 버전 관리 시스템에서 모든 사용자는 완벽한 복사본을 가지고 있으며 (소스코드에 대한 히스토리를 포함) 버전 관리 명령어들을 각 사용자의 로컬에서 실행할 수 있다.
DVCS는 중앙 저장소 사용을 항상 요구하지 않는 장점을 갖는다.
Git은 분기 (Branching)을 지원한다.
* 중요 용어들
1. Repository - 저장소
저장소는 히스토리, 시간/태그(Tag)/분기(Branch)에 따른 다른 버전들을 가지고 있다.
Git에서 저장소를 다른곳으로 복사하더라도 다시 완벽한 저장소가 된다.
저장소는 작업하고 있는 복사본으로 수정본들을 얼마든지 검색할 수 있도록 한다.
Branches - 분기 와 Tags - 태그
Git 저장서는 모든 분기들과 태그(tags)들을 가지고 있다.
분기들중 하나는 master라고 불리는 기본 분기이다.
사용자는 작업에 필요한 어떤 한 버전의 분기를 이 기본분기로 체크아웃(Checkout)한다.
이것을 작업 카피 (Working Copy)라고 한다.
Commit - 커밋
소스 수정사항들은 저장소로 커밋할 수 있다.
이것은 지난 시간까지 추적된 것에 대한 새로운 리비전(Revision)을 만드는 것이다.
각 커밋은 저자와 커밋한 내용(어떻게 수정을 했는지, 누가 커밋 했는지)을 저장한다.
URL
Git에서 URL은 저장소의 위치이다.
Revision - 리비전
소스코드의 버전을 가리킨다.
Git은 SHA1 ids으로 리비전을 구분한다.
SHA1 ids는 160비트 으로 긴 편이고 16진수로 표현된다.
가장 최신버전은 HEAD로 불리는 주소로 표현되며 이전 버전은 HEAD~1으로 계속 그런 방식으로 버전이름을 가리킬 수 있다.
* Repository 의 기능
1.소스를 저장한다
2.소스가 올라올 때 어디서 변경되었는지 체크한다.
3.소스 변경 사항에 대한 기록을 남긴다.
* Git 을 사용하는 이유
1. 버전 관리 (안정화, 핫픽스 등)
2. 코드 관리 및 히스토리
3. 팀 작업
'이것저것 배운것 > Git' 카테고리의 다른 글
Windows에서 Git이용시 (0) | 2014.10.09 |
---|---|
GitHub 클론생성~체크아웃 (0) | 2014.10.09 |
GitHub 시작 ~ 업로드 (0) | 2014.10.09 |
SSH 키 생성하기 (0) | 2014.10.09 |