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 해시번호
해당 해시번호 시점으로 프로젝트를 되돌립니다.
'멋쟁이사자처럼 동아리 > Git' 카테고리의 다른 글
Git 섹션 10 브랜치 보다 깊이 알기 "인프런" -PlusUltraCode- (0) | 2024.07.20 |
---|---|
Git 섹션 9 Git의 Tag 달기 및 관리 "인프런" -PlusUltraCode- (0) | 2024.07.20 |
Git 섹션 7 "인프런" -PlusUltraCode- (0) | 2024.07.19 |
섹션 6 Git 보다 잘 사용하기 "인프런" -PlusUltraCode- (0) | 2024.07.18 |
섹션 5 세가지 저장공간과 과거로 이동하 (0) | 2024.07.13 |