如何恢复已删除并提交但仍存在于 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^
我的 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^