部分git分支合并的最佳实践

时间:2016-08-10 08:04:48

标签: git project-management git-merge git-rebase git-workflow

我们的客户改变了我们的项目之一的一些重要新功能(让我们称之为FA),现在他想要这个功能的一个子集,但以不同的方式集成(让我们称之为FB),然后放入所有初始请求的功能但与FB中所做的更改合并,将从FB中获取重叠更改。

我有这种情况:

  • 具有正在生产的稳定版本的主分支
  • FA分会

现在我从master创建了一个新的分支FB。

我需要整合FA的一些变化,然后做一些工作,然后在FB中完全合并FA,最后将所有变为主分支

最好的方法是做到这一点,不要生气,并保留FA和FB的可能提交历史记录

1 个答案:

答案 0 :(得分:0)

您可以cherry-pick FA 分支中的部分提交到您的 FB 中。使用cherry-pick,您可以从 FA 中选择要提取的提交,并将它们集成到 FB 中。

假设您在 FB 分支上,并且想要整合来自 FA 的一些提交。

首先,您将获得 FA 分支上所有提交的列表

git log --oneline

现在,当你获得所有提交 - SHA并在你的显示器上提交消息

git checkout FB

git cherry-pick SHA

您也可以将--edit标记传递给上述指令。它允许您编辑提交消息。

另一个有用的注意事项是,您可以使用cherry-pick选项--no-commit进入暂存区域。这将把樱桃挑选的提交放入临时区域。此时,您可以修改临时区域并部分或全部提交。

如果你想保留你从中挑选樱桃的曲目。您可以添加-x选项。这将添加源SHA以提交消息。此外,如果您想跟踪樱桃选择了什么,请使用--signeoff选项。它将在提交消息中添加用户用户名。

希望它有所帮助。

参考

cherry-pick