我想删除所有的提交历史,但保持代码在其当前状态,因为在我的提交历史中,有太多未使用的提交。
我该怎么做呢?
有没有git命令可以做到这一点?
git filter-branch ?
git rebase ?
...
我的代码托管在github.com上。
我想删除所有的提交历史,但保持代码在其当前状态,因为在我的提交历史中,有太多未使用的提交。
我该怎么做呢?
有没有git命令可以做到这一点?
git filter-branch ?
git rebase ?
...
我的代码托管在github.com上。
当前回答
如果您确定要删除所有提交历史,只需删除项目根目录中的.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目录(注意它是隐藏的)。然后在同一个文件夹中初始化一个新的存储库,并将其链接到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存储库出现问题。如果你想删除你所有的提交历史,但保持代码在当前状态,这样做是非常安全的,如下所示:
结帐 Git checkout——孤儿latest_branch 添加所有文件 git添加-A 提交更改 Git commit -am“提交消息” 删除分支 git branch -D main 将当前分支重命名为main Git分支-m main 最后,强制更新您的存储库 Git push -f origin main
PS:这将不会保留你的旧提交历史