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

Git二次合并feat分支时部分文件未创建的问题解决咨询

解决Git合并回退后再次合并丢失文件的问题

核心原因

你之前用git revert -m 2撤销了feat到master的合并提交,这个操作会把第一次合并带来的所有修改(包括新增文件)全部回滚。当你再次合并feat时,Git会认为master中“删除这些文件”的操作是最新状态,而feat里未修改的文件属于旧内容,因此不会自动恢复。

解决方案步骤

  1. 拉取最新的master分支:
    git checkout master
    git pull origin master
    
  2. 找到那次revert提交的ID:
    执行git log,找到标注为Revert "Merge branch 'feat' into master"的提交,复制它的哈希值(例如a1b2c3)。
  3. 撤销之前的revert操作:
    git revert a1b2c3
    
    这个命令会生成新提交,恢复第一次合并feat到master的所有内容,同时保留后续master上的修改。
  4. 合并feat分支:
    git merge feat
    
    此时Git会正确识别所有文件:之前被revert删除的文件会被恢复,后续master和feat的修改会正常触发冲突(如有),你可以逐一解决。
  5. 提交并推送结果:
    git commit
    git push origin master
    

关键说明

  • 撤销revert的操作不会覆盖后续修改,Git会自动对比差异,仅恢复被回滚的部分。
  • 若撤销revert时出现冲突,说明revert后master修改过相关文件,手动解决冲突后提交即可。
  • 操作前建议创建临时分支备份当前状态,避免误操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:42:42