4

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

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

那可能吗?

4

2 回答 2

1

您可以使用一个交互式 rebase 来压缩提交。

git rebase -i <commit>

推送时要包含的最后一次提交的父级在哪里。然后,运行此命令将让您选择要将哪些提交压缩为一个。假设您要压缩的提交是您将执行此操作的最后 10 次提交

git rebase -i HEAD~10
于 2013-07-08T12:33:37.380 回答
1

git rebase -i <hash-of-the-last-commit-before-commit1>

编辑器将打开一个列表,如:

pick commit1
pick commit2
pick commitN

以这种方式编辑行:

reword commit1
fixup commit2
fixup commitN

保存并退出您的编辑器。

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

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

于 2013-07-08T12:38:19.787 回答