GIT ---将所有内容推送到远程服务器,但只有一个日志条目

时间:2013-07-08 12:29:16

标签: git gitlab

我正在对我的机器上的项目进行更改,并在此过程中执行多次提交。但是,当推送到远程服务器时,我希望发送所有更改,但只有一个日志条目。

也就是说,我在本地commit1commit2commitN。当我将它推送到远程服务器时,我只希望它在历史记录中显示commitN,但仍然推动所有更改。

这可能吗?

2 个答案:

答案 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

保存并退出编辑器。

编辑器将再次打开 - 只需输入所需的最终提交名称即可。

现在您可以将单个提交推送到服务器。