반응형
Git이 가지고 있는 3가지 상태와 영역에 따른 설명입니다.
Committed, Modiffed, Staged
🔸 committed 상태
- 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미
- git commit 명령어를 통해 Commit 한 상태
- Git 디렉토리에 있는 파일들은 Committed 상태
🔸 Staged 상태
- 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미
- 파일을 수정하고 Staging Area에 추가(git add)했다면 Staged 상태
🔸 Modified 상태
- 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 의미
- Checkout 하고 나서 수정했지만, 아직 Staging Area에 추가하지 않았으면 Modified 상태
영역
🔹 .git directory
Git 디렉토리는 Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳을 말한다.
다른 컴퓨터에 있는 저장소를 Clone 할 때 Git 디렉토리가 만들어진다.
🔹 Working Directory
워킹 디렉토리는 프로젝트의 특정 버전을 Checkout 한 것이다.
Git 디렉토리는 지금 작업하는 디스크에 있고 그 디렉토리 안에 압축된 데이터베이스에서 파일을 가져와서 워킹 디렉토리를 만든다.
🔹 Staging Area
Staging Area는 Git 디렉토리에 있다. 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장한다.
Git에서는 기술용어로는 “Index”라고 하지만, “Staging Area”라는 용어를 써도 상관없다.
Git으로 하는 기본적인 일
- 워킹 디렉토리에서 파일을 수정한다.
- Staging Area에 파일을 Stage 해서 커밋할 스냅샷을 만든다. 모든 파일을 추가할 수도 있고 선택하여 추가할 수도 있다.
- Staging Are에 있는 파일들을 커밋해서 Git 디렉토리에 영구적인 스냅샷으로 저장한다.
출처: https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EA%B8%B0%EC%B4%88
반응형
'IT > Git' 카테고리의 다른 글
[Git] Git시작하기 (초기 설정) (0) | 2022.05.07 |
---|---|
[MAC] 소스트리 Github 간단 연동 방법 (Sourcetree) (7) | 2021.06.29 |