如何恢复已删除并提交但仍存在于 git hub 上的分支中的文件

how to bring back a file that is deleted and committed but still present in the branch on git hub

我的 git 中心分支上有 7 个文件。我删除了其中的 4 个并提交,但没有推送。现在,我想要恢复那 4 个已删除的文件。其他分支有相同的数据,我尝试合并,它说“分支已更新”但不会显示这 4 个文件。我试过拉,但没有帮助。

git checkout origin/my-branch-name -- ./path/to/deleted/file

您可以在删除文件时找到提交(它将记录所有已删除的文件和提交):

git log --diff-filter=D --summary

然后检出文件:

git checkout <commit>~1 <filename>

有两种方法可以取回这些文件:

1) 如果这是您最近的提交,那么您只需重置它即可取回您的文件。 git reset HEAD~1

2) 如果它是旧的提交那么你可以通过

恢复它

git revert your_deleted_branch_commit_hash

如果问题解决了请告诉我

谢谢!

如果您还没有推送,请使用以下命令。

如果您希望在暂存区中进行更改(准备提交),请使用

git reset --soft HEAD^

这将删除未推送的提交并将更改放入暂存区。如果您使用 commit 删除更改​​,请使用 hard 作为选项

git reset --hard HEAD^