我正在对我的机器上的项目进行更改,并在此过程中执行多次提交。但是,当推送到远程服务器时,我希望发送所有更改,但只有一个日志条目。
也就是说,我在本地commit1
,commit2
,commitN
。当我将它推送到远程服务器时,我只希望它在历史记录中显示commitN
,但仍然推动所有更改。
这可能吗?
答案 0 :(得分:1)
您可以使用交互式rebase来压缩提交。
git rebase -i <commit>
推送时希望包含的最后一次提交的父级在哪里。 然后,运行此命令将允许您选择要压缩到哪个提交。 假设您想要压缩的提交是最后一次提交,那么您将执行此操作
git rebase -i HEAD~10
答案 1 :(得分:1)
git rebase -i <hash-of-the-last-commit-before-commit1>
编辑器将打开一个列表,如:
pick commit1
pick commit2
pick commitN
以这种方式编辑线条:
reword commit1
fixup commit2
fixup commitN
保存并退出编辑器。
编辑器将再次打开 - 只需输入所需的最终提交名称即可。
现在您可以将单个提交推送到服务器。