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

Git Rebase时如何保留feature分支单个文件修改并同步main分支?

解决方法

分两种场景处理:

场景1:rebase过程中遇到目标文件冲突

如果执行git rebase main时,git提示你要保留的文件存在冲突,按以下步骤操作:

  • 保留feature_branch分支中该文件的修改:
    git checkout --ours path/to/your/target-file
    
  • 标记该文件冲突已解决:
    git add path/to/your/target-file
    
  • 继续完成rebase:
    git rebase --continue
    

场景2:已完成rebase,但目标文件的修改被覆盖

如果已经完成rebase,发现要保留的文件被main分支的版本覆盖了,按以下步骤恢复:

  • 恢复feature_branch在rebase前该文件的版本:
    git show feature_branch@{1}:path/to/your/target-file > path/to/your/target-file
    
  • 将恢复的修改合并到rebase后的提交中(保持提交历史整洁):
    git add path/to/your/target-file && git commit --amend --no-edit
    

补充说明

  • git checkout --ours:在rebase场景下,ours指代当前正在执行rebase的分支(即feature_branch),此命令会用feature_branch的版本覆盖冲突文件。
  • feature_branch@{1}:表示feature_branch分支在最近一次变更(本次rebase)之前的状态,通过它可以获取到rebase前的文件版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:19:50