将推送的git提交转换为一个

时间:2013-04-09 08:10:13

标签: git project-management bitbucket git-reset

我正在为我制作的任何新项目使用样板。但是,我在样板文件中提交的提交将进入新项目。我将如何简单地进行“初始提交”,其中包含一次提交中的所有内容并删除旧的提交历史记录?

2 个答案:

答案 0 :(得分:1)

为此

使用rebase命令

git rebase -i HEAD~N

N是您希望融入其中的提交数量。 然后做一个推力..

答案 1 :(得分:0)

您可以关注“git: how to squash the first two commits?”这个问题,然后在您的新回购中压缩n次提交。
script is here可以在重播你想要保留在新回购历史中的其余提交时压缩第一次提交。

git clone boilerplaterepo newrepo
# apply the script for git reset --soft $1 everything

该解决方案使用git reset --soft,并且是其中一个“Practical uses of git reset --soft?”的示例。


如果你想要一个基于rebase的解决方案 - 交互式(不太实用,因为它涉及一个手动步骤),don't forget the --root option (git 1.7.12),以便重新设置为根提交。

 git rebase -i --root
 git push -f