Git签出--恢复丢失的文件

Git签出--恢复丢失的文件,git,local,git-checkout,undo,Git,Local,Git Checkout,Undo,我意外删除了git存储库中的本地文件更改。他们没有被承诺,甚至没有被强迫 我所做的: git状态 然后显示了未提交的文件,我意外地删除了该公司名为smdr的整个文件夹: git签出-smdr 然后文件更改消失了 如何在git签出之前恢复这些文件?smdr comand?您可以使用任何给定选项: Git reflog 键入git reflog并签出所需的提交,它会将存储库还原为已删除的提交 Git还原 另一个选项是使用git revert SHA-1,它将还原您的提交。它只会撤消您的更改 Git重

我意外删除了git存储库中的本地文件更改。他们没有被承诺,甚至没有被强迫

我所做的: git状态 然后显示了未提交的文件,我意外地删除了该公司名为smdr的整个文件夹: git签出-smdr

然后文件更改消失了


如何在git签出之前恢复这些文件?smdr comand?

您可以使用任何给定选项:

Git reflog 键入git reflog并签出所需的提交,它会将存储库还原为已删除的提交

Git还原 另一个选项是使用git revert SHA-1,它将还原您的提交。它只会撤消您的更改

Git重置
Git reset将签出给定sha-1的内容。它会将您的分支设置为与SHA-1处于相同的状态。您可以使用任何给定选项:

Git reflog 键入git reflog并签出所需的提交,它会将存储库还原为已删除的提交

Git还原 另一个选项是使用git revert SHA-1,它将还原您的提交。它只会撤消您的更改

Git重置
Git reset将签出给定sha-1的内容。它会将您的分支设置为与SHA-1处于相同的状态,而Git不能这样做。文件未提交,因此不在历史记录中。您刚刚通过git checkout在索引中获得了不存在的版本


你唯一的希望就是你的备份系统。

你不能用Git。文件未提交,因此不在历史记录中。您刚刚通过git checkout在索引中获得了不存在的版本


您唯一的希望是备份系统。

但我的本地更改没有提交?我能用一个吗?不,你不能。所有这些命令都处理已提交的历史记录。但我的本地更改没有提交?我能用一个吗?不,你不能。所有这些命令都处理提交的历史记录。如果它们没有提交,最好的办法是检查本地文件所在的任何计算机上的垃圾箱或回收站。如果您使用的是Windows,如果您具有此功能,则可以在文件夹的属性中恢复到以前的版本on@Avantol13当您在cli中删除某些内容时,如果这些内容未提交,通常无法在trashIf中找到它们,你最好的办法是检查本地文件所在的任何计算机上的垃圾箱或回收站。如果您使用的是Windows,如果您具有此功能,则可以在文件夹的属性中恢复到以前的版本on@Avantol13当您在cli中删除某些内容时,通常无法在之前隐藏和丢弃的trashIf中找到它们,并且您知道这些内容可能是隐藏的一部分。然后试着找回藏品。通过这种方式,至少可以部分恢复受git签出影响的文件。然后试着找回藏品。这样,至少可以部分恢复受git签出影响的文件。