如何将所有提交提交到已经合并到master的分支

时间:2016-06-15 13:11:13

标签: git

我有一个提交历史记录如下:

A---B---C---D---E---F---J---K---L---M master
     \         /               /    
      G---H---I-----------N---O       bugfix

bugfix分支基于B分支上的提交master。它多次合并到master。与此同时,master还有其他提交。

我希望将所有提交内容提交给bugfix分支GHINO。更好的作为补丁文件,包括所有提交消息更好,以便在应用补丁后,我得到3个提交原始消息。但是,如果我只能获得提交哈希而没有所有额外的愿望,那就没关系。

虽然A分支基于B,但提交不应包括bugfixB

这可能吗?

1 个答案:

答案 0 :(得分:1)

git format-patch I -3

您可以使用git am来应用这些补丁。

在某些情况下,提交日志消息的主题可能格式为[FEATURE][3348]add log-out in the menu,其中包括[]。您需要在--keep-non-patch中添加git am以保留[]部分。

更新: 如果您需要所有提交,git format-patch A..Mgit format-patch A..HEAD。如果需要A,git format-patch --root Mgit format-patch --root HEAD或仅git format-patch --root

git format-patch -$(git log --oneline | wc -l)似乎还可以,包括A.patch。

如果您只需要bugfix的提交,git format-patch B..O