gpt4 book ai didi

git - 如何从 git 历史中完全删除提交

转载 作者:太空狗 更新时间:2023-10-29 14:47:19 25 4
gpt4 key购买 nike

我不得不从本地 git 仓库中删除最后 5 次提交,我这样做是通过 reset --hard 完成的到新的 HEAD 提交:

git reset --hard abcde1

现在我需要从历史记录中删除那些未引用的提交,在阅读了这里的许多答案后我尝试运行以下命令。

git gc --prune=now

git prune --expire=now --agressive

我找到的答案似乎都不适合我,例如,我仍然可以看到那些使用 git show <sha> 提交的内容,我在这里错过了什么?是否可以从历史记录中完全删除提交?

最后,如果我推送到一个新源(假设它是一个全新的 repo 协议(protocol)),那些未引用的提交是否也被推送了?

最佳答案

未引用或孤立的提交不会被推送到源。这些提交将在某个时候被 git 的垃圾收集器删除。如果您想强制进行垃圾回收,请执行此操作

git config gc.reflogexpireUnreachable = now
git gc --prune=now
git config gc.reflogexpireUnreachable = "2 days"

关于git - 如何从 git 历史中完全删除提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19914510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com