Git 의 버전관리
버전 관리 시스템의 데이터 저장 방식
- 파일의 Diff를 시간순으로 관리
- 단점 : 원본이 아닌 Diff를 가지고 있기 때문에 특정 시점으로 돌아갔을 때 그 상태의 코드를 얻기 위해 많은 계산 필요
Git의 데이터 저장 방식
- 파일의 Diff를 가지는 것이 아닌 파일을 저장하는 순간의 스냅샷을 저장
- 파일의 변경사항이 없는 경우, 파일을 새로 저장하지 않음(성능을 위해)
Git 구성 요소
Working Directory : 유저가 작업하는 폴더
Staging Area : 버전을 매기기 전단계
git Directory : 실제 버전을 매겨지고, 버전 관리하는 단계
Git 에서 파일의 상태
- Untracked(git에 등록되지 않은 상태) vs Tracked(등록된 상태)
- Tracked 상태
- Staged : Commit을 할 수 있는 후보 상태
- Committed(Unmodified) : 버전이 매겨진 상태
- Modified : 버전이 매겨진 파일이 수정된 상태
Git의 작업 순서
- Working Directory에서 파일을 수정
- Staging Area (Index)에 파일을 Staged하여 Commit할 스냅샷을 만듦
- Staging Area (Index)에 있는 파일들을 Commit하여 .git Directory (Repository)에 스냅샷을 저장
✅ 실습 : GUI를 사용하지 않고 CLI(Command Line Interface) 사용