假设我有一个主线分支和一个功能分支。我已经多次将mainline分支 merge 到feature分支中,但是我只有一些很小的 merge 冲突。我想清理历史记录,以便最后只进行一次 merge 。这样做的最佳方法是什么?

最佳答案

你看过git rebase吗?

git co -b temp_feature feature
git rebase master

这应该忽略 merge ,但是您将不得不重新解决冲突。
它还创建了temp_feature分支以便于返回,但是使用reflog可以实现相同的目的。

(以下错误答案:这将创建单个提交,而不是单个 merge :-/)

我认为最简单的方法是执行以下操作:
git co master
git merge --squash feature

这将从整个功能分支创建单个提交。如果您不想保留功能分支,请执行以下操作:
git branch -D feature

关于git - 将 merge merge 为单个 merge ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8598427/

10-15 04:13