2022. 7. 27. 00:40ㆍGIT
커밋을 하려면 파일의 상태가 추적 가능해야 한다.
워킹 디렉토리에 추가된 새 파일은 untracked 상태로 추적 가능 상태로 변경하는 것을 등록이라 한다.
등록은 스테이지 영역에 추가하는 것이다.
스테이지 영역에 추가된 파일만 깃에서 이력을 추적할 수 있다.
스테이지에 등록하기
등록하는 것은 워킹 디렉토리에 있는 파일을 스테이지 영역으로 복사하는 것이다.
실제 파일을 복사하는 것을 의미하는 것은 아니다.
워킹 디렉토리에 추가된 모든 파일을 커밋 하기 전에 스테이지에 등록되어 있어야 한다.
unstage 상태 파일들은 커밋 할 수 없다.
명령어 add로 등록
$ git add 파일명
add 명령어로 지정한 파일은 스테이지 영역에 등록된다.
스테이지 영역에 파일이 등록되면 파일은 tracked 상태로 변경된다.
$ git add .
현재 디렉토리에 있는 전체 파일과 폴더를 모두 등록한다.
단, 빈 폴더는 스테이지 영역에 등록할 수 없다.
소스트리에서 등록
스테이지에 올라가지 않은 파일 영역에서 파일을 선택하여 스테이지에 올라간 부분으로 옮긴다.
untracked 상태 파일 여러 개를 모두 스테이지에 올리기로 한 번에 등록할 수도 있다.
스테이지 영역에 등록된 파일은 스테이지에 올라간 파일 목록에서 확인할 수 있다.
파일 추적 상태 확인
워킹 디렉토리에 있는 새 파일이 스테이지 영역에 등록되었다.
깃 배시 터미널에서 status 명령어로 등록 상태를 확인하면 new file 메시지가 출력된다.
파일 등록 취소
tracked 상태 파일을 untracked 상태로 변경해보겠다.
$ git rm --cached 파일명
rm 명령어는 삭제하는 것으로 -- cached 옵션으로 스테이지 영역에서만 등록된 파일을 삭제한다.
(스테이지의 캐시 목록에서 파일이 삭제된다.)
파일 등록 후 커밋하지 않고 바로 삭제할 때 rm --cached 명령어를 사용한다.
파일 등록 후 커밋을 했다면 reset 명령어를 사용해야 한다.
파일 등록 후 커밋을 하고 나서 rm 명령어를 사용했을 때 깃 상태를 확인해보면
파일이 untracked 상태가 되고 스테이지 영역에서 파일이 삭제 처리된다.
커밋 후 삭제는 파일이 삭제 또는 변화된 것으로 간주한다.
따라서 커밋된 파일은 리셋으로 삭제한 후 정리해주어야 한다.
커밋한 것을 리셋할 수 있다.
깃 상태를 보면 커밋 할 게 없는 것으로 보인다.
등록된 파일 이름이 변경되었을 때
작업 중에 파일 이름이 변경돼도 깃은 변경된 파일 이름을 자동으로 안다.
git mv 대신 운영체제 mv 명령어를 사용해도 된다.
이름을 변경한 것은 기존 파일을 삭제하고 새 파일을 다시 스테이지 영역에 등록하는 과정과 유사하다.
'GIT' 카테고리의 다른 글
[GIT] 커밋 확인 (0) | 2022.07.27 |
---|---|
[GIT] 첫 번째 커밋 (0) | 2022.07.27 |
[GIT] 새 파일 생성 (0) | 2022.07.26 |
[GIT] 커밋 의미 (0) | 2022.07.25 |
[GIT] 깃 저장소 복제 (0) | 2022.07.25 |