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

如何在Git中强制将tmp分支状态应用到dev分支并保留dev历史

实现方法

直接通过以下几步就能快速达成目标,无需繁琐的撤销、cherry pick 和 squash 操作:

  • 确认当前处于dev分支(不确定的话执行git checkout dev切换)
  • 将tmp分支的所有文件状态同步到当前工作区和暂存区:
    git checkout tmp -- .
    
    这条命令会把tmp分支下的所有文件(包括新增、修改、删除的文件)完全覆盖到dev分支的工作区和暂存区,让当前目录状态和tmp分支完全一致。
  • 提交这个状态变更为新的提交D:
    git commit -m "同步tmp分支状态作为提交D"
    

执行完成后,dev分支的提交结构就会变成A <-- B1 <-- B2 <-- B <-- D,其中D的仓库状态和tmp分支完全一致。

注意事项

  • 如果当前dev分支有未提交的本地变更,先执行git stash暂存,避免覆盖丢失;后续可通过git stash pop恢复(若有需要)。
  • 如果存在tmp分支没有的未跟踪文件,git checkout tmp -- .不会自动删除这些文件,若要完全和tmp状态一致,可先执行git clean -fd清理未跟踪文件和目录(执行前确认这些文件无需保留),再执行git checkout tmp -- .。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 21:12:33