繁体   English   中英

git 在干净的分支上变基避免合并冲突

[英]git rebase on a clean branch avoiding merge conflicts

我有一个基于国外上游分支的本地项目变更分支。 随着变更时间和上游分支的变化,分支变得越来越难以维护。 特别是所有上游文件最近都被重新格式化(空白)。 Rebases 最终会导致很多冲突,我必须不断地重新申请。 因为我知道更改是好的,所以我想做的是生成一组干净的 HEAD 提交,然后很容易变基。 我正在考虑通过在上游和我的分支之间生成一个补丁,然后将补丁应用到上游的一个分支,最后在子系统的基础上提交所有更改来实现这一点。 显然是一些手工工作,我的问题是 - 有没有更简单的方法来做到这一点?

除了git pull --rebase upstream upstream-branch之外,还没有尝试过任何东西,不断产生冲突

它是开源的,所以我可以直接向您指出代码! https://github.com/ArduPilot/ChibiOS.svn/pull/1

https://github.com/ArduPilot/ChibiOS.svn/tree/stable_21.11.x是 svn 存储库稳定分支的 git 镜像。 拉取请求是所有更改,其中还包含对格式的修复

显然我的问题还不够清楚,但是“git 就是这样工作的”这样的答案并不是我想要的。 我用我最初的建议解决了这个问题。 大致是这样的:

git checkout upstream-branch
git checkout -b clean-branch
git checkout dirty-branch
git format-patch clean-branch
cat *.patch > mega.patch
git checkout clean-branch
patch -p1 < mega.patch
<individually commit each subsystem>
git push -set-upstream upstream-branch clean-branch

我现在有一组干净的提交,可以根据 upstream-branch 干净地变基,而不需要 rerere

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM