我想删除所有的提交历史,但保持代码在其当前状态,因为在我的提交历史中,有太多未使用的提交。
我该怎么做呢?
有没有git命令可以做到这一点?
git filter-branch ? git rebase ? ...
我的代码托管在github.com上。
如果您确定要删除所有提交历史,只需删除项目根目录中的.git目录(注意它是隐藏的)。然后在同一个文件夹中初始化一个新的存储库,并将其链接到GitHub存储库:
.git
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存储库出现问题。如果你想删除你所有的提交历史,但保持代码在当前状态,这样做是非常安全的,如下所示:
# EYZ0
添加所有文件
提交修改
删除分支
PS:这将不会保留你的旧提交历史