2swan
git 버전 관리 개념 본문
깃이 관리하는 세 개의 공간, 작업 디렉터리(working directort), 스테이지(stage), 저장소(repository)
○ 작업 디렉토리
- .git 숨김 폴더가 놓여 있는 곳이 프로젝트가 위치할 공간, 즉 프로젝트가 위치할 공간을 작업 디렉토리 또는 작업 트리(working tree)라고 한다.
- 깃을 이용해 작업 디렉터리 내에 위치한 파일 및 폴더의 현재 상태를 버전으로 만들고, 만들어진 버전을 관리 할 수 있으며, 작업 디렉터리는 버전 관리의 대상이 위치하는 공간이다.
- '버전을 만든다'는 말은 '특정 순간의 변경 사항을 기억한다'는 말과 같으며 작업 디렉터리에 있는 프로젝트에 변경 사항이 생기는 순간 새로운 버전을 만들 수 있게 되고, 이 변경 사항은 새로운 파일이 추가 되거나 특정 파일을 수정하거나 삭제하는 것 일 수도 있다
○ 스테이지
- 깃으로 버전을 만들 때는 작업 디렉터리 내에서 변경된 파일들 중에서 새로운 버전이 될 파일만 특별한 공간으로 옮기는 작업을 거치게 된다. 이 특별한 공간이 스테이지이다. 스테이지는 변경 사항이 있는 파일 중 다음 버전이 될 후보가 올라가는 공간이다.
- 스테이지는 스테이징 영역(staging area) 또는 인덱스(index)라고 부른다.
- 작업 디렉터리에서 버전이 될 후보 파일을 스테이지로 옮기는 것을 '스테이지에 추가한다(add) 또는 '해당 파일을 스테이지시킨다(staged)'라고 표현하며, 스테이지에 추가된 파일을 추가된 파일 또는 스테이지된 파일 이라고 표현한다.
○ 저장소
- 스테이지에 있는 파일을 바탕으로 새로운 버전을 만들면 새 버전이 저장소에 추가되며, 작업 디렉터리에서 만들어진 모든 버전들의 내역이 저장소에 있다. 즉, 저장소는 버전이 만들어지고 관리되는 공간.
- 저장소에 새로운 버전을 만드는 것을 커밋한다(commit)라고 표현한다.
작업 디렉터리의 파일은
1. 변경 사항 생성
2. add
3. commit
과정을 통해서
1. 작업 디렉터리
2. 스테이지
3. 저장소
순으로 이동하여 새로운 버전으로 만들어 진다.
'Tool > Git' 카테고리의 다른 글
Git 원격 저장소 네 가지 상호 작용 개념 (0) | 2023.08.06 |
---|---|
SSH 키 생성 및 등록 (0) | 2023.08.06 |
소스트리 제거(잔여 파일 포함) (0) | 2023.08.06 |
Git 설정하기 (0) | 2023.08.06 |
git 작업 공간 확인 (0) | 2023.08.06 |