Git:压缩master上提交的最简单方法

时间:2011-11-21 15:10:06

标签: git github

  

可能重复:
  How can I squash my last X commits together using git?

我有一个在GitHub上托管的项目,我有一个本地克隆。我有很多小提交,我已经推到了GitHub。这一切都是使用默认的* master分支完成的。

我在merge -squash和rebase等之间感到困惑...... 将几个历史提交组合到一个提交中以便推送到GitHub的最直接的方法是什么?

1 个答案:

答案 0 :(得分:64)

在开始之前,你应该确保git status是干净的(即该命令没有输出)以避免失去工作。做你想做的最简单的方法可能是:

git reset --soft <LAST-COMMIT-THAT'S-OK>
git commit -m 'Many squashed commits'
git push --force origin master

您应该记住,这是重写历史记录(这就是您需要--force git push选项的原因)所以如果其他人可能已从您的存储库中克隆或撤消,您应该避免这种情况。对于更多替代方案,请参阅此问题及其答案: