Git如何不合并、无冲突用branchA完全覆盖替换branchC分支
Git 分支完全覆盖解决方案
以下方案均不会产生合并、冲突逻辑,每次执行都可以直接将branchC完全复刻为branchA的精确副本,自动丢弃branchC原有所有内容。
方案1:切换到目标分支操作
- 切换到待覆盖的目标分支branchC:
git checkout branchC - 硬重置分支状态完全对齐branchA:
git reset --hard branchA - 若需要同步到远程仓库,执行强制推送:
git push origin branchC --force
方案2:无需切换分支的单命令操作
直接修改branchC的指针指向branchA的最新提交,不需要切换工作区,效率更高:git branch -f branchC branchA
执行完后如果需要推送到远程,同样使用上面的强制推送命令即可。
注意事项
所有操作都会直接丢弃branchC的原有提交历史和修改,执行前确认不需要保留branchC上的任何内容即可。
内容的提问来源于stack exchange,提问作者systemdebt
相关产品推荐
相关产品推荐

