버전이 만들어지는 과정에 있어서 작업 디렉터리, 스테이지, 저장소를 이해해야 합니다.
작업 디렉터리는 .git 숨김 폴더가 놓여 있는 곳을 말합니다.
바로 프로젝트가 위치할 공간으로 작업 트리라고도 합니다.
즉, 작업 디렉터리는 버전 관리의 대상이 위치하는 공간입니다.
프로젝트를 하다가 변경사항이 생기면 모조리 새로운 버전으로 만들 필요는 없습니다.
그렇기 때문에 변경 사항이 생긴 파일 중 다음 버전이 될 후보를 선별해야 합니다.
새로운 버전이 될 후보만을 특별한 공간으로 옮기는데 이 공간을 스테이지 라고 합니다.
작업 디렉터리에 있는 파일에 변경 사항을 만들고, 이 변경 사항들 중
새로운 버전으로 만들기 위한 파일을 선별해서 스테이지에 올립니다.
스테이지는 스테이징 영역, 인덱스라고 부르며 눈으로 명시적으로 보이지는 않습니다.
스테이지에 있는 파일을 새로운 버전으로 만들면 새 버전이 저장소에 추가됩니다.
저장소는 버전이 만들어지고 관리되는 공간입니다.
저장소도 마찬가지로 명시적으로 보이지 않습니다.
이렇게 새로운 버전이 생기면 스테이지는 비워집니다.
이러한 과정들을 반복해서 새로운 버전을 쌓아갑니다.
작업 디렉터리에서 버전이 될 후보 파일을 스테이지로 옮기는 것을 add, staged 라고 합니다.
이렇게 추가된 파일을 add 파일, staged 파일이라고 합니다.
또한, 저장소에 새로운 버전을 만드는 것을 commit 이라고 합니다.
새로운 버전 만들기
소스트리를 이용해 직접 버전을 만듭니다.
작업 디렉터리에 3개의 텍스트 파일을 생성하고 텍스트를 입력하게 되면 다음과 같습니다.
다음과 같이 모두 스테이지에 올립니다.
각 파일을 클릭하면
다음과 같이 변경 사항을 확인할 수 있습니다.
이제 스테이지에 올라온 파일을 버전으로 만들기 전에 commit message를 작성해야 합니다.
커밋 메시지는 버전을 설명하는 메시지입니다.
커밋 메시지는 제목과 본문으로 이루어져 있으며 본문은 생략 가능합니다.
개발자들은 커밋 메시지를 통해서 의사소통을 합니다.
다음과 같이 커밋 메시지를 작성하고 커밋을 진행합니다.
커밋 내역은 History에서 볼 수 있습니다.
커밋 쌓아 올리기
앞서 작성한 a.txt 파일에 다음과 같이 내용을 수정하고
c.txt 파일은 삭제합니다.
소스트리를 들어갑니다.
두 변경 사항을 커밋하기 위해서 마찬가지로 모두 스테이지에 올리겠습니다.
커밋 메시지를 작성하고 커밋합니다.
다음과 같이 그래프에서 두 동그라미가 연결되어 있음을 확인하였습니다.
즉, 첫 번째 커밋에서부터 만들어졌음을 의미합니다.
.gitignore로 무시하기
작업 디렉터리에서 변경 사항이 생길때 마다 깃이 해당 변경 사항을 알아차리고 있습니다.
그러나 작업을 하다보면 변경 사항이 생기더라도 버전에 포함시키지 않아야 할 순간이 생깁니다.
.gitignore 파일을 사용하면 깃으로부터 변경 사항 추적을 막을 수 있습니다.
.gitignore 파일에 적은 파일이나 폴더에 변경 사항이 생겨도 무시합니다.
.gitignore 파일을 만들 때는 확장자는 지우고 생성합니다.
'GIT' 카테고리의 다른 글
[GIT]#6 스태시로 작업 임시 저장하기 (0) | 2024.03.09 |
---|---|
[GIT]#5 작업 되돌리기 (0) | 2024.03.09 |
[GIT]#4 버전 비교하기 (0) | 2024.03.07 |
[GIT]#3 버전 구분하기 (0) | 2024.03.07 |
[GIT]#1 깃, 소스트리, 깃허브 알아보기 (0) | 2024.03.06 |