본문 바로가기
멋쟁이사자처럼 동아리/Git

Git 섹션 8 관리되지 않은 파일 삭제 "인프런" -PlusUltraCode-

by PlusUltraCode 2024. 7. 20.

Git에서 관리되지 않는 파일들 삭제하고 복구하기

Git 프로젝트를 진행하다 보면, Git에 추가(add)나 커밋(commit)되지 않은 파일들이 생길 때가 있습니다. 이러한 파일들을 효율적으로 관리하는 방법을 알아보겠습니다.

관리되지 않는 파일 삭제하기

기본적인 삭제 명령어

 
$ git clean -n

현재 폴더 안에 있는 관리되지 않는 파일들을 삭제할 준비 상태를 보여줍니다. 실제로 삭제하지는 않습니다.

 
$ git clean -nd

파일뿐만 아니라 폴더 또한 삭제할 준비 상태를 보여줍니다. 역시 실제로 삭제하지는 않습니다.

 
$ git clean -di

파일과 폴더 내용을 인터랙티브 모드로 삭제할 준비 상태를 보여줍니다. 삭제할 항목을 선택할 수 있습니다.

 
$ git clean -df

파일과 폴더를 강제로 삭제합니다. -d 옵션은 폴더를 포함하여 검사하고, -f 옵션은 실제로 삭제를 실행합니다.

커밋하지 않은 파일 복구하기

Git에서 관리되지 않는 파일을 삭제한 후에 복구하는 방법도 알아보겠습니다.

 
$ git restore panthers.yaml

panthers.yaml 파일을 복구합니다.

 
$ git restore .

staged 되지 않은 모든 파일들을 복구합니다.

파일을 staged로 옮기기

 
$ git add .

현재 디렉토리의 모든 변경된 파일들을 staged 상태로 만듭니다. 이후 staged 된 파일들을 확인하려면:

 
$ git status

staged 된 파일들을 staged 아닌 상태로 바꾸려면:

 
$ git restore --staged panthers.yaml

panthers.yaml 파일을 staged 상태에서 워킹 디렉토리로 복구합니다.

특정 파일을 특정 커밋 시점으로 되돌리기

 
$ git restore --source=해시번호 tigers.yaml

tigers.yaml 파일을 특정 커밋 시점(해시번호)으로 되돌립니다.

reset을 사용하여 되돌리기

과거의 모든 기록들을 확인하려면:

 
$ git reflog

그다음, 되돌리고자 하는 해시코드를 알아낸 뒤:

 
$ git reset --hard 해시번호

해당 해시번호 시점으로 프로젝트를 되돌립니다.