Git

[Git] stage area 등록 및 제거 (add, rm & reset & restore)

neck392 2024. 11. 2. 06:16

add

새 파일을 생성하여 Untracked 상태에서 Stage area에 등록하여 Staged 상태로 바꾸거나

commit한 이후에 수정된 Modified 상태의 파일을 Stage area에 등록하여 Staged 상태로 바꾸기 위한 명령어는 다음과 같다. 추가적으로 삭제한 파일에 대해서도 변경 사항을 repository에 저장하기 위해서 stage area에 등록하는 과정이 필요하다.

// stage area 등록 명령어
git add <파일 이름>

// working directory에 존재하는 모든 파일에 대한 변경 사항을 등록
git add .

// 특정 디렉토리 및 하위 디렉토리, 파일들을 등록
git add <디렉토리 이름>/

"git add" 명령어는 단순히 변경 사항을 stage area에 등록만 하기 때문에 이후에 "git commit" 명령어를 추가적으로 수행해야 버전 기록에 반영된다.

 

rm & reset & restore

 Tracked 상태에 있는 파일(stage area에 있는 파일)을 다시 working tree로 옮길 수 있다. 단순히 add 명령에 대한 취소 명령어 뿐만 아니라 working tree에서도 완전히 파일을 제거할 때도 쓰이며 주로 파일을 프로젝트에서 완전히 제거할 때 사용한다. "git add ."명령어를 자주 사용하는 경우 이 명령어를 활용할 수 있으며 파일을 Untracked 상태로 만든 행위를 Staged한다.

// rm 명령어
git rm <파일 이름>

// 디렉토리 지정
git rm -r <디렉토리 이름>/

// --cached 옵션을 사용하여 stage area에 등록되어 있는 파일을 로컬 working tree에 남기기
git rm --cached <파일 이름>
git reset <파일 이름>
git restore --staged <파일 이름>

// stage area에 존재하는 모든 파일들을 돌리기
git reset

-r 옵션으로 해당 디렉토리에 대하여 재귀적으로 하위 디렉토리 및 파일들을 삭제한다. 마찬가지로 이후 작업  사항에 대하여 commit 명령어를 수행해야 한다.