我想删除所有提交历史记录,但将代码保持在当前状态,因为在我的提交历史记录中,有太多未使用的提交。
我该怎么做?
有没有 git 命令可以做到这一点?
git filter-branch ?
git rebase ?
...
我的代码托管在 github.com 上。
删除该.git
文件夹可能会导致您的 git 存储库出现问题。如果您想删除所有提交历史记录但将代码保持在其当前状态,则按照以下方式执行此操作非常安全:
查看
git checkout --orphan latest_branch
添加所有文件
git add -A
提交更改
git commit -am "commit message"
删除分支
git branch -D main
将当前分支重命名为 main
git branch -m main
最后,强制更新您的存储库
git push -f origin main
PS:这不会保留您的旧提交历史记录
如果您确定要删除所有提交历史记录,只需删除.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
但是,我建议在采取这些步骤之前备份历史记录(存储库中的文件夹)!