如何删除所有提交历史在github?

我想删除所有的提交历史,但保持代码在其当前状态,因为在我的提交历史中,有太多未使用的提交。

我该怎么做呢?

有没有git命令可以做到这一点?

git filter-branch ?
git rebase ?
...

我的代码托管在github.com上。

439165 次浏览

如果您确定要删除所有提交历史,只需删除项目根目录中的.git目录(注意它是隐藏的)。然后在同一个文件夹中初始化一个新的存储库,并将其链接到GitHub存储库:

git init
git remote add origin git@github.com:user/repo

现在提交当前版本的代码

git add *
git commit -am 'message'

最后强制更新到GitHub:

git push -f origin master

但是,我建议在执行这些步骤之前备份历史(存储库中的.git文件夹)!

删除.git文件夹可能会导致git存储库出现问题。如果你想删除你所有的提交历史,但保持代码在当前状态,这样做是非常安全的,如下所示:

  1. < p >结帐

    # EYZ0

  2. 添加所有文件

    # EYZ0

  3. 提交修改

    # EYZ0

  4. 删除分支

    # EYZ0

  5. 将当前分支重命名为main

    # EYZ0

  6. 最后,强制更新您的存储库

    # EYZ0

PS:这将不会保留你的旧提交历史