Git에서 로컬로 삭제된 파일을 복원하는 방법
버전 제어를 위해 Git을 사용할 때 실수로 일부 로컬 파일을 삭제하는 경우가 있습니다. 이러한 파일을 Git 저장소에 추가하기 전에 백업하지 않으면 해당 파일이 영구적으로 삭제되는데 이는 매우 나쁜 일입니다.
그러나 어떤 브랜치에서 파일을 삭제하든 Git은 해당 파일을 Git 스테이징 영역이라는 특수 영역에 저장하므로 이러한 파일을 복원할 수 있다는 사실에 놀랄 것입니다.
그렇다면 로컬에서 삭제된 파일을 어떻게 복구합니까?
삭제된 파일의 최신 버전 복원
삭제한 파일의 이름이 file.txt
라고 가정하면 다음 명령을 통해 이 파일의 최신 버전을 복원할 수 있습니다. file.txt
,那么您可以通过以下命令恢复最新版本的此文件:
$ git checkout HEAD -- file.txt
在此命令中,git checkout
命令的作用是从 Git 仓库中检出指定文件或目录的版本。而 HEAD
则表示检出最新的提交版本,并将其保存到工作区域。
这意味着您所恢复的数据将是在最后一次提交后,但在删除文件时保存的最后一份副本。而在运行此命令之前,请确保您尚未提交更改,否则您恢复的将是旧的版本,并将覆盖您最新的代码。
恢复文件的早期版本
除了恢复最新版本的文件外,您还可以检出资源库中的早期版本。要执行此操作,请运行以下命令:
$ git log -- file.txt
此命令将列出 Git 仓库中所有针对此文件进行的更改,并在您准备恢复特定版本时提供有关文件的信息。在列出更改后,您将看到一条条的提交记录,每个记录的开头都有一个哈希值。
复制您想要检出的版本的哈希值,并使用以下命令:
$ git checkout <commit-hash> -- file.txt
此命令的工作原理与之前相同。但是,这次您使用特定的提交哈希值而不是 HEAD
rrreee
git checkout
명령은 Git 저장소에서 지정된 파일이나 디렉터리의 버전을 확인하는 데 사용됩니다. 그리고 HEAD
는 최근 제출된 버전을 확인하고 작업 영역에 저장한다는 의미입니다. 이는 복구한 데이터가 마지막 커밋 이후에 저장된 마지막 복사본이 되지만 파일이 삭제되었을 때 저장된다는 의미입니다. 이 명령을 실행하기 전에 변경 사항을 커밋하지 않았는지 확인하세요. 그렇지 않으면 이전 버전으로 돌아가서 최신 코드를 덮어쓰게 됩니다. 이전 버전의 파일 복원최신 버전의 파일을 복원하는 것 외에도 저장소에서 이전 버전을 확인할 수도 있습니다. 이렇게 하려면 다음 명령을 실행하세요. rrreee
이 명령은 Git 저장소에서 이 파일에 대한 모든 변경 사항을 나열하고 특정 버전을 복원할 준비가 된 경우 파일에 대한 정보를 제공합니다. 변경 사항이 나열되면 시작 부분에 해시가 있는 커밋 레코드 줄이 표시됩니다. 🎜🎜확인하려는 버전의 해시를 복사하고 다음 명령을 사용하세요. 🎜rrreee🎜이 명령은 이전과 동일하게 작동합니다. 그러나 이번에는HEAD
대신 특정 커밋 해시를 사용합니다. 그러면 지정된 커밋 당시의 파일 버전이 복원됩니다. 🎜🎜파일 손실 방지🎜🎜Git가 삭제된 파일을 복구하는 데 도움이 되더라도 새 파일을 추가하거나 이전 파일을 변경하기 전에 백업하는 것이 좋습니다. 백업을 사용하면 예측할 수 없는 데이터 손실을 방지할 수 있을 뿐만 아니라 이전 버전을 쉽게 탐색하여 코드 개발 내역을 더 잘 이해할 수 있습니다. 🎜🎜 또한 Git 리포지토리의 오류나 데이터 손실을 방지하려면 더 큰 데이터 손실을 복구하는 경우 클라우드 저장소나 기타 백업 솔루션을 사용하여 코드 베이스의 전체 버전을 보존하는 것을 고려해야 합니다. 🎜🎜버전 관리를 위해 Git을 사용할 때는 파일을 임의로 삭제하는 것보다 온화함이 낫다는 점을 기억하세요. 파일을 임의로 삭제하면 데이터 손실이 발생할 수 있으며 이는 비용이 많이 들고 불필요한 실수가 됩니다. 버전 제어를 위해 Git을 사용하는 방법을 잘 모르는 경우 이 강력한 도구에 대한 수많은 리소스를 찾아 코드 베이스를 보호할 수 있는 지식과 기술을 항상 확보하세요. 🎜위 내용은 Git에서 로컬로 삭제된 파일을 복원하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 GUI 도구 (Sourcetree, Gitkraken 등), 필수 명령 (Git Init, Git Clone, Git Add, Git Commit 등), 지점 관리 모범 사례 (기능 분기, 요청) 및 Merge Con에 대한 GIT 관리에 대한 안내서를 제공합니다.

이 안내서는 단일 git 커밋을 원격 브랜치로 밀리는 방법을 설명합니다. 임시 지점을 사용하여 커밋을 분리 하고이 지점을 리모콘으로 밀고 선택적으로 임시 지점을 삭제합니다. 이 방법은 충돌을 피하고

이 기사에서는 Git의 커밋과 푸시 명령의 차이점을 설명합니다. Git Commit은 로컬에서 변경 사항을 저장하는 반면 Git Push는 이러한 커밋 된 변경 사항을 원격 저장소에 업로드합니다. 이 기사는이 분류를 이해하는 것의 중요성을 강조합니다

이 기사는 GIT 커밋 컨텐츠를보기위한 방법을 자세히 설명합니다. git show를 사용하여 커밋 메시지, 저자 정보 및 변경 (DIFF), 여러 Commit 'Diff에 대한 GIT 로그 -P를 표시하고 Commit을 직접 확인하는 것에 대한주의 사항에 중점을 둡니다. 대체

이 기사는 일반적인 GIT 커밋 실패를 다룹니다. 추적되지 않은 파일, 무대 변경 변경, 충돌 병합 및 사전 커밋 후크와 같은 문제에 대한 문제 해결 단계에 대해 자세히 설명합니다. 더 부드러운 git wo를 보장하기 위해 솔루션 및 예방 조치가 제공됩니다.

이 기사에서는 Git에서 Git Add와 Git Commit의 뚜렷한 역할을 설명합니다. GIT는 단계 변경 사항을 추가하여 다음 커밋에 포함시킬 준비를하고 GIT Commit은 저장소의 역사에 대한 단계적 변경 사항을 저장합니다. 이 2 단계 프로세스가 가능합니다

이 초보자 안내서는 버전 제어 시스템 인 GIT를 소개합니다. 기본 명령 (Init, Add, Commit, Status, Log, Branch, Checkout, Merge, Push, Pull) 및 병합 충돌을 해결합니다. Clear Comm을 포함한 효율적인 GIT 사용을위한 모범 사례

이 기사는 분산 버전 제어 시스템 인 GIT를 소개합니다. 오프라인 기능 및 강화 된 협업을위한 효율적인 분기/병합과 같은 중앙 집중식 시스템에 대한 GIT의 장점을 강조합니다. 이 기사는 또한 학습 r
