>  기사  >  개발 도구  >  Git에서 로컬로 삭제된 파일을 복원하는 방법

Git에서 로컬로 삭제된 파일을 복원하는 방법

PHPz
PHPz원래의
2023-04-03 09:15:182013검색

버전 제어를 위해 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

此命令的工作原理与之前相同。但是,这次您使用特定的提交哈希值而不是 HEADrrreee

In 이 명령은 git checkout 명령은 Git 저장소에서 지정된 파일이나 디렉터리의 버전을 확인하는 데 사용됩니다. 그리고 HEAD는 최근 제출된 버전을 확인하고 작업 영역에 저장한다는 의미입니다.

이는 복구한 데이터가 마지막 커밋 이후에 저장된 마지막 복사본이 되지만 파일이 삭제되었을 때 저장된다는 의미입니다. 이 명령을 실행하기 전에 변경 사항을 커밋하지 않았는지 확인하세요. 그렇지 않으면 이전 버전으로 돌아가서 최신 코드를 덮어쓰게 됩니다.

이전 버전의 파일 복원

최신 버전의 파일을 복원하는 것 외에도 저장소에서 이전 버전을 확인할 수도 있습니다. 이렇게 하려면 다음 명령을 실행하세요.

rrreee

이 명령은 Git 저장소에서 이 파일에 대한 모든 변경 사항을 나열하고 특정 버전을 복원할 준비가 된 경우 파일에 대한 정보를 제공합니다. 변경 사항이 나열되면 시작 부분에 해시가 있는 커밋 레코드 줄이 표시됩니다. 🎜🎜확인하려는 버전의 해시를 복사하고 다음 명령을 사용하세요. 🎜rrreee🎜이 명령은 이전과 동일하게 작동합니다. 그러나 이번에는 HEAD 대신 특정 커밋 해시를 사용합니다. 그러면 지정된 커밋 당시의 파일 버전이 복원됩니다. 🎜🎜파일 손실 방지🎜🎜Git가 삭제된 파일을 복구하는 데 도움이 되더라도 새 파일을 추가하거나 이전 파일을 변경하기 전에 백업하는 것이 좋습니다. 백업을 사용하면 예측할 수 없는 데이터 손실을 방지할 수 있을 뿐만 아니라 이전 버전을 쉽게 탐색하여 코드 개발 내역을 더 잘 이해할 수 있습니다. 🎜🎜 또한 Git 리포지토리의 오류나 데이터 손실을 방지하려면 더 큰 데이터 손실을 복구하는 경우 클라우드 저장소나 기타 백업 솔루션을 사용하여 코드 베이스의 전체 버전을 보존하는 것을 고려해야 합니다. 🎜🎜버전 관리를 위해 Git을 사용할 때는 파일을 임의로 삭제하는 것보다 온화함이 낫다는 점을 기억하세요. 파일을 임의로 삭제하면 데이터 손실이 발생할 수 있으며 이는 비용이 많이 들고 불필요한 실수가 됩니다. 버전 제어를 위해 Git을 사용하는 방법을 잘 모르는 경우 이 강력한 도구에 대한 수많은 리소스를 찾아 코드 베이스를 보호할 수 있는 지식과 기술을 항상 확보하세요. 🎜

위 내용은 Git에서 로컬로 삭제된 파일을 복원하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.