gpt4 book ai didi

git - 从 git 存储库历史记录中删除文件

转载 作者:行者123 更新时间:2023-12-04 04:31:41 24 4
gpt4 key购买 nike

我错误地检入(到 github)一些敏感文件。为了解决这个问题,我按照说明 here并运行命令:

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch settings.json" --prune-empty --tag-name-filter cat -- --all
echo "settings.json" >> .gitignore
git add .gitignore
git commit -m "Add settings.json to .gitignore"
git push origin --force --all
git push origin --force --tags
git for-each-ref --format="delete %(refname)" refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now

但是,我可以转到我的提交历史记录以查看已删除的文件。

要解决此问题,如何从 github 提交历史记录中删除该文件?

enter image description here

enter image description here

最佳答案

尝试使用最佳实践是使用新工具 git filter-repo 其中replaces BFG and git filter-branch .

注意:如果您在运行上述命令时收到以下错误消息:

Error: need a version of `git` whose `diff-tree` command has the `--combined-all-paths` option`

这意味着你必须 update git .

参见“ Path based filtering”:
git filter-repo --path settings.json --invert-paths

然后 git push --force
最后不需要所有这些 repack/gc/prune:该工具会为您进行清理。

关于git - 从 git 存储库历史记录中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59727771/

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