如何恢复GitHub上被Git回滚的提交中特定文件的变更内容?
Git恢复被回滚的变更操作步骤
前置准备:同步本地与远程最新代码
首先拉取远程分支的最新提交,避免后续操作产生冲突:
git pull origin <你的目标分支名,如main/master>
按需求选择对应操作方案
方案1:仅恢复指定文件的被回滚变更
- 第一步:定位你最初提交变更的commit哈希值,可通过
git log --oneline搜索提交信息,也可直接在GitHub仓库的提交历史中查找 - 第二步:执行命令仅拉取该提交下指定文件的变更到本地工作区:
git checkout <目标commit哈希值> -- <指定文件的相对路径>
- 第三步:确认文件变更符合预期后,正常提交推送即可:
git add <指定文件路径> git commit -m "恢复[文件名]的[对应变更描述]" git push origin <目标分支名>
方案2:恢复整个被回滚提交的全部变更
回滚操作本身会生成一条独立的commit记录,直接反向撤销这条回滚记录即可,不会影响回滚操作之后推送的其他新变更:
- 第一步:定位到你之前执行回滚操作时生成的commit哈希值
- 第二步:执行反向回滚命令:
git revert <回滚操作对应的commit哈希值>
- 第三步:如果出现冲突,按提示完成冲突解决后提交,再推送到远程仓库即可
注意事项
- 执行
git checkout拉取指定文件变更前,建议先备份本地当前的同名文件,避免非预期覆盖 - 执行
git revert前务必确认哈希值对应你要撤销的回滚记录,不要选错commit
内容的提问来源于stack exchange,提问作者rajesh
相关产品推荐
相关产品推荐

