You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git重置后如何从分离HEAD状态恢复已提交文件夹至master分支

恢复目标文件夹并拆分提交的操作步骤

1. 备份分离HEAD状态的提交(可选但建议)

当前你处于包含目标文件夹的分离HEAD状态,先创建临时分支备份,避免操作失误丢失内容:

git branch temp-backup <你的提交哈希ID>

2. 切换回master分支

git checkout master

3. 将旧提交中的目标文件夹提取到master工作区

使用git restore命令,从指定提交中恢复目标文件夹到当前工作区:

git restore --source=<你的提交哈希ID> -- <目标文件夹的完整或相对路径>

示例(假设文件夹名为large-assets):

git restore --source=xyz789 -- large-assets/

执行后,该文件夹会完整出现在master的工作区,且未被暂存。

4. 拆分小批次提交

现在工作区有了完整的文件夹内容,按需求分批暂存并提交:

  • 选择第一批文件暂存:
git add large-assets/docs/ large-assets/config.json
  • 提交这批内容:
git commit -m "feat: 提交文档及配置文件"
  • 重复上述步骤,逐步完成所有文件的提交:
git add large-assets/media/images/
git commit -m "feat: 提交图片资源"

5. 推送至GitLab

所有小批次提交完成后,推送到远程master分支:

git push origin master

清理临时分支(可选)

确认内容已完全恢复并提交后,可删除之前创建的临时备份分支:

git branch -D temp-backup

内容的提问来源于stack exchange,提问作者Luc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:33:11