将两个提交合并为一个并推送到远程仓库

时间:2013-12-17 12:37:43

标签: git

我想将两个提交合并为一个。我见过this article并尝试使用带有rebase的壁球,但它不适合我,因为我有2次提交,并希望将这两次提交合并为1。 git log --pretty=oneline给我:

b776cabedd911ba0030537030496ca24102ff7f1 Initial commit.
7b5fb155372b129b38be0c54d184427632d949d4 Second commit.

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

如果你只有2个提交,它们不能以通用方式合并,因为git rebase -i然后压缩需要在这2个提交之前提交,这不存在。

因此,正如您在github或其他公共git存储库中看到的那样,第一次提交的常见方式是alomost空提交,带有空的.gitignore文件。这样可以避免你现在遇到的情况。

如果你真的需要合并这两个提交,这是我的答案:

  1. 使用git format-patch -2
  2. 导出2次提交
  3. 使用git init
  4. 重新创建本地git仓库
  5. 通过git apply 0001* git apply 0002*
  6. 在(1)中应用2个补丁文件导出
  7. 提交