Git에서 커밋하기 전에 삭제된 파일 복원

Ankit Raj Goyal 2024년2월15일
  1. Git에서 resetcheckout 명령을 사용하여 커밋하기 전에 삭제된 파일 복원
  2. Git에서 git checkout 명령을 사용하여 커밋하기 전에 삭제된 파일 복원
  3. Git에서 커밋하기 전에 삭제된 파일 배치 복원
Git에서 커밋하기 전에 삭제된 파일 복원

git checkoutgit reset 명령을 사용하여 커밋하기 전에 삭제된 파일을 복원합니다. Git은 이러한 명령으로 복잡한 작업을 수행할 수 있는 강력한 옵션을 제공합니다.

삭제된 파일을 먼저 언스테이징한 다음 작업 트리에서 별도의 단계로 복원할 수 있습니다. 또는 두 작업을 한 단계로 결합할 수 있습니다.

이 튜토리얼은 단일 명령으로 여러 파일의 삭제 취소를 일괄 처리하는 영리한 트릭을 보여줍니다.

Git에서 resetcheckout 명령을 사용하여 커밋하기 전에 삭제된 파일 복원

먼저 저장소를 설정하고 몇 개의 파일을 추가하겠습니다. 다음과 같습니다.

삭제 전 초기 저장소

첫 번째 커밋 몇 개는 로그에서 다음과 같이 보입니다.

초기 저장소 커밋

이제 rm 명령으로 파일을 삭제합니다.

git rm file7.txt

삭제된 파일 file7.txt는 더 이상 저장소에 없습니다.

파일 삭제

rm의 기본 동작은 삭제 변경 사항을 자동으로 준비하는 것입니다.

rm 자동 단계 삭제

이제 커밋하기 전에 삭제된 파일 복원을 진행합니다.

먼저 reset 명령으로 삭제 단계를 해제합니다.

git reset <commit_hash> [--] <path_to_file>

이 명령은 path_to_file 매개변수와 일치하는 모든 파일에 대해 색인을 commit_hash 상태로 복원합니다.

git reset HEAD --file7.txt

이렇게 하면 file7.txt에 대한 HEAD 인덱스가 복원됩니다. HEAD는 마지막 커밋을 가리킵니다.

삭제를 커밋하지 않았으므로 마지막 커밋에는 삭제 항목이 없습니다.

본질적으로 이 명령을 사용하여 삭제된 파일을 언스테이징합니다.

Git Reset 언스테이지 변경

삭제된 파일 언스테이징

다음으로 git checkout 명령을 사용하여 작업 영역에서 삭제된 파일을 복원합니다.

git checkout [--] <path_to_file>

checkout은 작업 트리의 내용을 이 형식의 인덱스로 덮어씁니다.

git checkout -- file7.txt

Git 삭제된 파일 복원 2단계

Git에서 git checkout 명령을 사용하여 커밋하기 전에 삭제된 파일 복원

git checkout 명령은 위의 두 단계를 하나로 결합할 수 있는 양식을 제공합니다.

git checkout <commit> [--] <path_to_file>

이 형식에서 git checkout은 인덱스와 작업 영역 모두의 내용을 커밋으로 덮어씁니다.

git checkout HEAD -- file7.txt

HEAD는 마지막 커밋을 가리킵니다. 삭제를 커밋하지 않았으므로 마지막 커밋은 삭제 작업을 알지 못합니다.

Git 삭제 취소 단일 단계 체크아웃

Git에서 커밋하기 전에 삭제된 파일 배치 복원

많은 파일을 삭제하고 커밋하지 않으면 어떻게 될까요? 1000개의 파일을 삭제했고 이제 모든 파일을 복원하려고 한다고 가정합니다.

여러 파일 삭제

위의 명령을 1000번 입력하는 것은 프로그래머가 작업을 수행하는 방법이 아닙니다. 대신 경로 지정자에 와일드카드를 사용하여 많은 파일을 일치시키고 단일 명령으로 삭제를 취소할 수 있습니다.

git reset HEAD .

이것은 file7.txt.로 바꾼 것을 제외하고는 위와 동일한 명령입니다. 와일드 카드. . git에게 모든 파일과 일치하도록 지시합니다.

따라서 이 명령은 삭제된 모든 파일을 언스테이징합니다. 그런 다음 작업 영역에서 복원합니다.

git checkout .

file7.txt와 동일한 명령이 다시 .로 대체됩니다. 와일드 카드. 모든 준비되지 않은 삭제를 한 번에 복원합니다.

일괄 복원 삭제

모든 삭제된 파일 복원됨

관련 문장 - Git Restore