如何从git diff生成一个提交

时间:2015-04-21 21:25:38

标签: git

有没有办法生成一个包含两个分支之间代码更改的commit?我有一个分支,我用短信提交了太多次,然后我将最新的master状态合并到其中。现在,我想将所有更改放在一个提交中,只需一条提交消息并推送到远程。似乎交互式rebase不起作用,因为我最后将master合并到我的分支中......

当我这样做时:git diff master..mybranch,我看到了我想要进行新提交的更改!

1 个答案:

答案 0 :(得分:0)

你仍然可以使用交互式rebase,只需从master开始,然后将所有提交压缩成一个。

或者,您也可以使用该差异的输出生成补丁,然后使用git apply应用该补丁:

git diff master..mybranch > patch
git checkout master
git apply patch

然后,添加您的更改并将其作为单个提交提交。