繁体   English   中英

合并分支,但有一个修改过的提交

[英]Merge branch, but with one modified commit

我有一个合作者的git分支,我想合并。 问题是其中一个早期提交存在错误(例如,必须更改提交消息或必须修复某些EOL字符)。

如果我在本地分支中挑选提交然后进行交互式rebase +编辑,则需要2分钟才能解决该问题。

问题是,如果我这样做,那么协作者的原始分支将不再被各种工具GitHub合并。

是否有工作流允许我将分支与修复合并,仍然看到原始分支合并?

如果你想保留你的协作者的原始分支,那么你的樱桃选择+ rebase然后git merge -s ours badbranch与“正确的坏空白”消息,然后如果你还没有在你的主分支合并到那个正常。

这是我的工作流程,用于合并需要小修复的分支,并根据公认的解决方案进行调整

我们要合并的分支是collaborator/fix-bug-10

首先,我们设置了一个本地分支,然后挑选协作者分支中的所有提交。

git checkout master
git branch collaborator-fix-bug-10 # hyphen instead of slash
git checkout collaborator-fix-bug-10
git cherry-pick COMMIT1
git cherry-pick COMMIT2
git cherry-pick COMMIT2

然后我们解决问题。

git rebase -i master # show commits between HEAD and master
# fix problems
git rebase --continue

之后,我们将合作者的分支与我们的分支“合并”。 这是公认解决方案的要点。

git merge --strategy ours collaborator/fix-bug-10

最后,我们将本地分支合并到主分支中。

git checkout master
git merge --ff-only collaborator-fix-bug-10
git branch --delete collaborator-fix-bug-10

樱桃挑选进入哪里? 在原始分支上执行交互式rebase,编辑提交消息,然后正常合并分支。

暂无
暂无

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

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