버전관리

  • 최초 버전의 파일에서 수정된 부분 (Diff)만 저장합니다.
  • Git의 경우 파일 수정 시 스냅샷을 저장합니다.
    (단, 수정사항이 없다면 저장하지 않습니다.)

Git의 영역

이미지 출처. About_Staging Area, git-scm

Working Directory

  • 실제 작업 공간입니다.
  • ADD 시 Staging Area로 이동합니다.

Staging Area (Index)

  • ADD 시 이동하는 공간입니다. (버전 생성 전 공간)
  • COMMIT 시 .git Directory로 이동합니다.
    (Staging Area에서 COMMIT 가능)

.git Directory (Repository)

  • COMMIT 시 버전이 생성됩니다. (버전 관리 공간)

Git 파일 상태

MODIFIED

  • 파일을 수정한 상태입니다.
    (COMMIT하지 않은 상태)

STAGED

  • 파일 수정 후 COMMIT을 준비하기 위한 상태입니다.

COMMITTED

  • COMMIT되어 .git Directory에 버전이 저장된 상태입니다.
  • 다시 파일을 수정하는 경우 MODIFIED 상태가 됩니다.

Git 파일 라이프사이클

이미지 출처. Git Basics - Recording Changes to the Repository, git-scm

UNTRACKED

  • Working Directory에만 존재하며, 아직 Git이 관리하지 않는 상태입니다.
  • Git이 관리하기 위해서는 ADD를 통해 Staged 상태로 변경해야 합니다.

STAGED (TRACKED)

  • ADD를 통해 Staging Area로 이동한 상태입니다.
  • COMMIT이 가능한 상태입니다.

UNMODIFIED (TRACKED)

  • COMMIT을 통해 .git Directory로 버전이 생성된 상태입니다.
  • COMMIT 이후 아직 수정되지 않은 상태입니다.

MODIFIED (TRACKED)

  • COMMIT 이후 파일이 수정된 상태입니다.
  • 다시 Staging Area로 옮긴 후 COMMIT을 진행해야 합니다.
profile
aiden

0개의 댓글