如何樱桃选择包含合并的分支

时间:2017-04-28 05:49:32

标签: git git-cherry-pick

我们在分支master的功能分支中开发新功能。有时候,这些功能应该被反向移植到以前版本的软件中,我们最好将历史记录保存完好。

我知道我可以使用git cherry-pick A..B来选择提交范围。但是,长期存在的功能分支可能包含合并以使其与主服务器保持同步。当遇到合并提交时,樱桃挑选中止。

有一些(最好是规范的)方法吗?像

这样的东西
git cherry-pick --ignore-merges master...feature

作为参考,分支设置看起来有点像这样。我想从我的功能分支中挑选提交H,K和K到version_old。

A - B - C - D - E - L [master]
|       \       \
|        H - J - M - K [feature]
\
 F - G [version_old]

2 个答案:

答案 0 :(得分:3)

git log --pretty=%H --reverse --no-merges A..B | git cherry-pick --stdin

答案 1 :(得分:0)

我尝试了几个选择樱桃选择,我认为这个是你正在寻找的

ApplicationWindow {
    id:clientWindow
    width: 1820
    height: 980
    x: (Screen.width - width) / 2
    y: (Screen.height - height) / 2
    //flags: Qt.FramelessWindowHint
    //       | Qt.WindowSystemMenuHint
    //       | Qt.WindowMinimizeButtonHint
    //       | Qt.Window
    visible: true
}

它会挑选H和K之间的所有提交,但不包括J. 阅读this