카테고리 없음

Git States

yeseong9769 2024. 8. 17. 12:02

The Three States

File States

Git에는 파일이 세 가지의 상태로 존재: modified, staged, commited

  • Modified는 파일을 변경했지만 아직 database에 commit을 하지 않은 경우
  • Staged는 현재 버전의 수정된 파일을 다음 Commit Snapshot에 포함시키기 위해 표시한 상태
  • Comitted는 데이터가 Git Database에 안전하게 보관된 상태

 

Git Three Sections

Source: https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F

  • Working Directory는 프로젝트의 특정 버전을 체크아웃한것으로, .git 디렉토리의 압축된 데이터베이스에서 파일들을 추출하여 디스크에 배치한 것. Working Directory는 Git 워크플로우의 시작점으로, 개발자가 파일을 수정하고 변경 사항을 확인하며 Staging Area로 옮기기 위한 준비를 하는 공간.
  • Staging Area는 Git 디렉토리 내에 존재하는 파일로, 다음 커밋에 포함될 정보를 저장.
  • Git Directory는 Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳. 다른 컴퓨터에서 리포지토리를 Clone할 때 복사되는 부분으로, 버전 관리의 핵심 정보를 포함

 

Git Workflow

1. Working Tree에서 파일 수정 (Modified)

2. 수정한 파일을 스테이징 영역에 추가. 스테이징 영역에 추가된 파일만 다음 커밋에 포함됨 (Staged)

git add index.html

3. Commit을 실행하면 Staging Area에 있는 파일을 그대로 가져와 해당 스냅샷을 Git 디렉터리에 영구적으로 저장 (Comitted)

git commit -m "modifed index.html"