我有以下情况:
- 我从主存储库 (X) 创建了一个
clone
(Y),因为有很多人在 Y 上工作,我们没有做任何rebase
但只有merge
。当我们想要交付(push
)Y 到 X 时,我们想做一个rebase
以使事情变得干净整洁
问题是在执行 rebase
时,我们被要求执行我们在前面的 merge
步骤中已经执行的所有 merge 。除了意味着实际重新进行 merge 的解决方案之外,是否有解决方案?
我预计它会非常简单,因为我们已经解决了 merge 冲突。
最佳答案
git merge --squash
现在是我在大量工作和许多 merge 之后首选的 rebase 方式 (see this answer)。如果您正在处理的分支名为 my-branch
并且您想从 master
rebase ,那么只需执行以下操作:
git checkout my-branch
git branch -m my-branch-old
git checkout main
git checkout -b my-branch
git merge --squash my-branch-old
git commit
关于git rebase 在之前的 git merge 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6248231/