有时我在github上启动一个项目。我会说100左右的提交,现在我准备发推文了。我希望有一个干净的提交历史记录。所以我删除了项目并开始了一个新项目。有时我会回滚所有以前的提交,然后添加一个提交最终输出。
如何撤消所有先前的提交,然后只有一个提交最终输出。
答案 0 :(得分:5)
100次提交很棒!没有理由抛弃那段历史,重新开始“干净”的提交历史。你的提交历史永远不会保持干净,所以现在尝试清理它是没有意义的。
返回并重写旧提交的唯一原因是您不小心在代码历史记录中提交了密码或其他秘密。否则,您的项目提交日志会反映实际发生的事情,这是一件好事。
答案 1 :(得分:4)
执行此操作的一种方法是,假设没有人已经分叉了您的存储库(或者您不关心它们是否已经存在),是git rebase -i
并将所有提交压缩回一次提交。
或者您可以进行导出:Do a "git export" (like "svn export")?
或者您可以rm -rf .git
然后git init
获取包含相同文件的新回购。