기트(Git) 주요 개념
참조: http://git.or.cz/course/svn.html
저장소(Repository): 서브버전에서 각각의 프로젝트는 체크아웃하고 커밋하는 중앙에 위치한 단일 저장소에 위치한다. Git는 다르게 동작한다. 각각의 프로젝트 트리(working copy라고 부른다) 복사본을 각자의 저장소에 가지고 있는다. 따라서 로컬과 원격 브랜치를 가질 수 있다. 또한 워킹 카피에 붙어있지 않은 베어 저장소(Bare repository)를 가질 수 있는데, 이 것은 특히 저장소를 공개하고 싶을 때 유용하다.
URL: 서브버전에서 URL은 저장소 위치 식별자와 저장소 내부 경로를 나타낸다. 따라서 저장소의 레이아웃과 그 의미를 구조화 한다. 보통 trunk/, branches/, tags/ 디렉터리를 가지고 있을 것이다. 기트에서 URL은 단순 저장소 위치다. 브랜치와 태그는 항상 내포하고 있다. 브랜치중 하나를 기본으로 사용하고 그 이름이 보통 master다.
리비전(Revision): 서브버전은 리지번을 증가만 하는 정수 id로 식별한다. 대규모 프로젝트에서는 금방 수 백, 수 천이 되는 경향이 있다. Git 같은 분산 시스템에서는 실용적이지 않다. Git는 SHA1 id로 리비전을 식별한다. 16 진수의 기다란 160 비트 숫자다. 처음엔 좀 당황스럽지만 실제로는 그리 방해가 되지 않는다. 최신 리비전을 HEAD로 참조할 수 있고, 그 부모를 HEAD^ 로 참조하고 부모의 부모는 HEAF^^ = HEAD^2 이런식으로 참조할 수 있다. 또한 리비전의 앞 부분 몇 개만으로 참조할 수 있다. 그것으로 식별할 수 있다면 기트가 나머지를 추측할 것이다.
커밋(commit): 각각의 커밋은 author와 committer가 있다. 누가 언제 코드를 변경했고 누가 그것을 커밋했는지 알려주는 정보다.(Git는 메일로 주는 패치를 잘 적용할 수 있도록 설계 했는데, 이런 경우 author와 committer가 다를 수 있다.) git config -I로 이름과 이메일을 확인할 수 있다. 그리고 다음 명령어로 그 정보를 설정할 수 있다.
git config --global user.name "Your Name Comes Here"
git config --global user.email you@yourdomain.example.com
명령어: git command 형태인데, git-command 형태로 사용할 수도 있다.
색상: 다음과 같이 설정하면 컬러풀한 결과를 볼 수 있다. 기본값으로 색상을 사용하지 않는다.
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
비주얼: gitk를 사용해서 저장소를 살펴보면 편리할 것이다. 맥용 gitk 대체 애플리케이션