1. working directory (작업 공간)
2. staging area (임시 저장 공간)
3. repository (저장소)
1. working directory (작업 공간)
프로젝트의 코드를 저장하는 위치, 즉 실제로 파일을 다루는 로컬 환경의 공간을 의미합니다. 이 working directory는 2가지 상태를 가집니다.
1-1. untracked : Add된 적 없는 파일, ignore 된 파일
1-2. tracked : Add된 적 있고 변경내역이 있는 파일
working directory에서 작업 후
git add .
를 동작하면 파일들이 올라가는 곳이 바로 staging area 입니다.
2. staging area
작업한 환경에서의 특정 변경사항만 모아서 버전을 만들고 싶을 때 특정 파일만 git add를 통해 staging area에 올려 커밋을 진행하여 버전 관리를 할 수 있습니다.
만약 staging area가 없다면 변경한 모든 파일을 커밋하게 되기 때문에 임시 저장소를 제공합니다.
staging area에서
git commit
커밋 수행 시 변경사항들이 최종적으로 .git(repository)에 저장됩니다.
3. repository
Git에서 작업한 이력들을 최종적으로 저장하는 "저장소" 입니다.
깃 저장소의 위치에서 숨겨진 항목을 확인하면 .git 폴더가 있는것을 확인할 수 있습니다. 이러한 .git 폴더를 통해 깃의 모든 정보(커밋된 변경사항, 브랜치 등등)들을 관리합니다.
정리
Working Directoy --(add)--> Staging Area --(commit)--> Repository
위의 구조를 가집니다.
추가적인 명령어
파일/폴더 삭제
git rm 파일/폴더명
일반 삭제와의 차이점 : git rm으로 삭제 시 삭제한 내역이 자동으로 git add . 를 통해 staging area에 기록된다.
파일/폴더 이동(변경)
git mv 파일/폴더명
일반 이동(변경)과의 차이점: git mv로 이름을 변경하거나 이동 시 자동으로 git add . 를 통해 staging area에 기록된다.
Staging Area에서 Working Directory로 add를 취소하는 방법
git restore --staged 파일/폴더명
Staging Area에 올라온 파일/폴더명을 Working Directory로 되돌린다.
Working Directory에서 작업 내용 취소하기(없애기)
git restore 파일/폴더명
Working Directory에서 작업한 파일/폴더명의 변경사항을 버리고 파일/폴더의 가장 최근 commit 상태로 되돌아 간다.
'DevOps > Git' 카테고리의 다른 글
[Git] Git, SVN 특징 및 차이점 (0) | 2024.01.07 |
---|---|
[Git] 삭제, 복구 / clean, restore, reset의 reset (1) | 2022.10.25 |
[Git] 오래된 commit 내역 수정,변경 (0) | 2022.10.24 |
[Git] 최신(가장 최근의) commit 내용,메시지 수정하기 (0) | 2022.10.24 |
[Git] stash (0) | 2022.10.24 |