1. working directory
- 프로젝트의 파일들을 수정하고 작업하는 공간
- working directory는 untracked와 tracked 두 가지로 나눠진다.
- git이 이미 알고 있고 tracking하고 있는 파일은 tracked로, 새로운 파일이나 기존에 git이 존재하던 프로젝트에서 git을 초기화하는 것과 같이 git에 파일에 대한 정보가 없는 파일은 untracked로 나뉜다.
- git이 tracking 하고 있는 파일 중에서도 수정 유무에 따라 modified와 unmodified로 나눠진다.
- unmodified는 이전 버전과 비교했을 때 다른게 없는 파일이기 때문에 수정되어 이전 버전과 달라진 modified된 파일만 staging area로 옮길 수 있다.
2. staging area
- 버전 히스토리에 저장할 준비가 되어있는 파일들을 옮겨 놓는 공간
- commit 명령어를 통해 staging area에 있는 파일들을 git 버전 히스토리에 저장
3. .git directory(git repository)
- 버전의 히스토리를 가지고 있는 공간
- checkout 명령어를 통해 원하는 버전으로 돌아갈 수 있음
- git 히스토리는 로컬에만 저장되는데, 컴퓨터에 문제가 생기면 히스토리가 삭제될 수 있기 때문에 push 명령어를 통해 github와 같은 서버에 업로드해둔다.
- 서버에서 다시 로컬로 다운로드 받을 때는 pull 명령어를 이용한다.
- 각각의 commit에는 고유한 해쉬코드(id)가 부여되고 이 해쉬코드를 이용해 버전정보를 참조할 수 있으며, 해쉬코드와 더불어 버전에 관련된 메시지, 작성자, 날짜와 시간같은 정보가 포함되어 있다.
반응형
'Git > git이란?' 카테고리의 다른 글
.gitignore (0) | 2022.02.08 |
---|---|
git이란? (0) | 2022.02.04 |
댓글