버전관리시스템
로컬 - 오직로컬, 협업불가, 디렉토리형 파일시스템 로컬데이터베이스(vcs)
중앙집중식-중앙서버가 있고 클라이언트가 체크아웃(cvs,subversion,perforce)
분산형-각클라이언트가 모두 저장소를 가짐, 커밋빠름(Git,Mecurial,Barzaar,Darcs)오프라인가능, 중앙집중식외 계층모델 등 다양한 워크플로우 구현가능
역사
2002년부터 리눅스커널에 사용된 BitKeeper가 2005년이익다툼으로 갈라진 후
리누즈 토발즈가 직접GIT를 만들고 발전해옴
(빠른속도, 편리한브랜치)
델타가 아닌 스냅샷으로 저장
기존 - 이전버전과의 비교에서 바뀐 델타값을 저장
GIT - 매커밋의 스냅샷을 저장
무결성
SHA-1을 이용하여 파일을 이름이 아닌 해시값단위로 저장
오직 GIT를 통해서만 원하는 파일에 접근
상태
modified 수정만 완료
Staged 커밋할거라고 플래그
Committed GIT디렉토리에 존재
설치
소스코드로 설치 http://git-scm.com/download
패키지관리도구로 설치
설정
유저이름, 유저이메일, 사용할편집기종류
저장소만들기
git init
브랜치
브랜칭 - 커밋개체(커밋때마다 만들어지는 메타데이터와 루트디렉토리의 포인터)
각 개체는 이전 버전의 커밋개체를 가리킴
|