‣
Git이란?
분산 버전 관리 시스템. 코드의 버전에 대한 효율적 관리 및 협업과 소스 코드 이력 추적에 용이하다.
Git을 사용해야 하는 이유
여럿이서 같은 파일을 수정한다면 충돌이 일어나 강제로 수정하게끔 한다.

특징
- 가지 치기와 병합: main브랜치와 개발중에 있는 develop브랜치 등으로 나뉘어 작업할 수 있다. 개발 완료된 브랜치에서 main브랜치로의 병합을 요청하여 최종본을 완성할 수 있다.
- 가볍고 빠름: 여럿이서 한번에 요청이 들어와도 빠르게 처리가 가능하다.
- 분산 작업: 여러 개발자가 가지치기로 독립된 브랜치를 가지고, 수정 후 병합을 통해 최종본을 완성한다.
- 데이터 보장: 체크섬을 통한 프로젝트의 무결성 보장
- 준비 영역(staging Area): 실제 작업 중인 저장소와 원격 저장소 사이에 존재한다.
git add
하면 working directory→ staging area,
git commit
하면 staging area → remote repository로 옮겨간다.
- 오픈소스: 여러 사람들이 함께 개발할 수 있는 환경이라 오픈소스를 효과적으로 관리하기 좋다.
라이프 사이클 구조

- Local repository: 사용자의 로컬 시스템에 위치한 저장소
- working directory : 사용자가 실제로 작업하는 공간