gpt4 book ai didi

git - 从 git commit 中删除大文件

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

这个问题在这里已经有了答案:





How to remove/delete a large file from commit history in the Git repository?

(20 个回答)



Git: How to remove file from historical commit?

(5 个回答)


2年前关闭。




我在我的项目源文件中添加了一个 150MB 的视频,并在不知不觉中提交了它。然后我尝试 git push提交到我的远程仓库并注意到推送 一段时间,然后最终失败,吐出这个:

Counting objects: 17, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (17/17), 145.48 MiB | 138.00 KiB/s, done.
Total 17 (delta 13), reused 0 (delta 0)
remote: Resolving deltas: 100% (13/13), completed with 12 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: 8b4191f1a1055e7dea4412f80b5125d2
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File src/images/greystone_place.mp4 is 145.45 MB; this exceeds GitHub's file size limit of 100.00 MB

我尝试将文件添加到 .gitignore但为时已晚。后续 git push命令产生相同的结果。

接下来,我尝试将 HEAD --soft 重置为我最初提交大文件的提交(这是在涉及 .gitignore 的更多提交之后)。从那里,我使用 git reset HEAD -- path/to/filename 重置了有问题的文件到工作目录并再次提交。这样做,我仍然遇到了同样的错误。

后来我意识到也许使用 --amend命令可以解决问题(基于 this article ),但这也不起作用。

我也尝试使用 git rm --cached path/to/file当我处于软重置时。这也失败了。

我已经开始阅读 git rebase igit filter-branch但它们看起来很复杂,我不确定我是否用这种方法咆哮了错误的树。

我不是 Git 专家,但简而言之,我想做一个 git push与我的其他更改并排除这个大文件。不知何故,它似​​乎与较早的提交交织在一起,并阻止我制作 push到我的远程仓库。

最佳答案

截至 the tutorial on GitHub about removing file from history ,您可以使用 bfg tool或使用 git filter-branch正如您在问题中提到的:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA' --prune-empty --tag-name-filter cat -- --all

之后,您可能需要强制推送( git push -f ),因为历史已被修改。

I'm not sure if I'm barking up the wrong tree with this approach.



您可能先有一个备份 :-) 而 GitHub 可能是另一个备份(因为您的推送失败)。

关于git - 从 git commit 中删除大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55944917/

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