git - 在 rebase 之前将所有提交 merge 为一个

标签 git git-merge rebase

我有一个我正在处理的本地/远程分支 A。 BranchA 是从 develop 分支创建的。我已经在某个地方做出了十几个 promise 。现在我正处于一个阶段,我想从同时进行的开发中提取所有更改,以便 BranchA 包含开发中的所有最新更改,以便我可以对其进行测试。

我曾尝试将 develop rebase 到 BranchA,但解决冲突有点困难。发生的事情是在 developer 分支中更改了一个 FileA,但我也在我的很多提交中更改了这个文件(比方说 8)。所以 git 似乎要求我解决此文件的冲突 8 次,而我希望它只询问我最新版本。

那么,我在这里有哪些选择?我应该将所有 12 次提交 merge 为 1 次,然后尝试 rebase 吗?我将如何正确地执行此操作?

最佳答案

I have tried to rebase develop onto BranchA

否:您需要将您的分支 rebase 到公共(public)分支 develop

git checkout BranchA
git rebase develop

如果多次出现类似的 merge 冲突,git rerere can help .

另一种方法是简单地将 develop merge 到 BranchA 中。

The point is that I want to add the change in FileA from new develop commit, to latest version for FileA from my BranchA.

对于给定的文件,一旦 rebase 被冲突阻止,您可以简单地 check out 它:

 git checkout develop -- FileA
 git rebase --continue

这样一来,解决的速度非常快(因为您用 develop 分支中的文件覆盖了 FileA)

关于git - 在 rebase 之前将所有提交 merge 为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51664490/

相关文章:

ios - iOS项目的.git文件夹

git恢复 merge : determine which parent is which (-m 1 vs -m 2)

git rebase - rebase 与 develop 和 origin/develop 之间的区别?

git - 如果我在推送后 rebase 会发生什么?

Git 忘记了我从中获取/推送到的远程存储库

git - 如何重置 SourceTree 中的 git-flow 配置?

git - 以下 Git 提交策略正确吗?

git merge 更新源分支上未更改的文件

git - 在 rebase 期间解决所有 "changed-by them"或 "deleted by the them"

Git 推送子树失败未知修订或路径可能是由于缺少 git-subtree-split 提交