이정훈
[KDT 스마트팩토리] 1. Git이란? 본문

Git 이란?
리눅스 개발자인 리누스 토발즈가 리눅스 버전 관리를 위해 개발한 형상 관리 도구
특징
- 전체 파일을 복사하는 것이 아니라 수정된 내용을 기록한다. (Snapshot)
- 거의 모든 명령이 로컬에서 실행 됨으로 속도가 빠르다.
- 항상 체크섬을 구하고 그 체크섬으로 데이터를 관리한다. (무결성)
기능
- 코드의 기록을 추적한다.
- 팀으로 코드를 작성해 협업한다.
- 누가 무엇을 변경하였는지 확인한다.
Git의 세 가지 상태
1. Committed
데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미한다.
2. Modified
수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 말한다.
3. Staged
현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미한다.
Git의 세 가지 구성 요소
1. Repository
Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳이다.
2. Staging Area (혹은 Index)
곧 커밋할 파일에 대한 정보를 저장한다. Git Directory에 존재한다.
3. Working Directory
프로젝트의 특정 버전을 Checkout 한 것이다. 압축된 데이터베이스에서 파일을 가져와서 워킹 트리를 만든다.
