react-native:文件 android/java_pid14920.hprof 为 311.59 MB;这超出了 GitHub 的文件大小限制
Posted
技术标签:
【中文标题】react-native:文件 android/java_pid14920.hprof 为 311.59 MB;这超出了 GitHub 的文件大小限制【英文标题】:react-native: File android/java_pid14920.hprof is 311.59 MB; this exceeds GitHub's file size limit 【发布时间】:2020-02-26 23:50:27 【问题描述】:我想将我的项目推送到 github,但是我只是注意到在 android 文件夹中有一个名为 java_pid14920.hprof 的文件,导致大约 300MB
remote: error: File android/java_pid14920.hprof is 301.75 MB; this exceeds GitHub's file size limit of 100.00 MB
我想知道删除这个文件是否安全?
【问题讨论】:
你能找到解决办法吗? 简短的回答是肯定的。您可以(并且应该)删除堆转储文件 (.hprof)。更多信息在这里Oracle Docs. 【参考方案1】:这里唯一的答案对我不起作用,但我找到了一个可行的解决方案。
我的违规文件是android/java_pid2325.hprof
,但你的显然可能会有所不同。我用git filter-branch
:
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch android/java_pid2325.hprof'
确保将*.hprof
添加到您的.gitignore
并推送提交。
注意*-> 确保将 *.hprof 的名称更改为与本地 *.hprof 相同的名称
【讨论】:
乐于助人! @RizwanIjaz 非常感谢,这是对我来说最好的答案。 请问如何将 *.hprof 添加到 .gitignore ?我有 4 个 hprof 文件,是否将它们全部添加到 gitignore 中? @zedArt 解决方案由 Hyeomin 提供 转到“.gitignore” 只需输入这个 sn-p。 *.hprof 保存 .gitignore 文件。【参考方案2】:这听起来像是一个堆分析输出文件,您可能根本不希望它出现在您的存储库中。您需要从整个历史记录中删除它,并可能在.gitignore
中添加一个条目以忽略*.hprof
。如果文件不在最新的提交中,简单地删除它不会使您的存储库可推送到 GitHub;您必须从整个历史记录中删除该对象。
如果您可以轻松找到引入它的提交(尝试git log -- android/java_pid14920.hprof
),您可以执行git rm android/java_pid14920.hprof
,然后执行git commit --fixup HASH-OF-COMMIT && GIT_SEQUENCE_EDITOR=true git rebase -ir --autosquash HASH-OF-COMMIT^
(注意插入符号)来重新定位文件。
您还可以使用git filter-branch
或bfg
之类的工具来过滤掉不需要的大型对象。
请注意,这样做会重写任何介入提交的历史记录,更改它们的对象 ID。
【讨论】:
【参考方案3】:我运行了这个命令。它适用于 Windows 10
git filter-branch -f --index-filter "git rm --cached --ignore-unmatch android/java_pid10213.hprof"
使用 " 代替 '
【讨论】:
【参考方案4】:@bk2204 答案对我有用。 就我而言,.hprof 文件位于 android/hprof 中。
转到“.gitignore”
只要把这个 sn-p 放进去。
安卓/
*.hprof
-
保存 .gitignore 文件。
【讨论】:
我已经手动删除了 hprof 文件。然后我跑git clean -f
并再次尝试推动。但是,我不断收到错误消息。有什么解决方法吗?
但是提交已经完成,放入 .gitignore 将从下一次提交开始工作。
我的问题是由于 hprof 大小而无法提交。所以我在提交之前就放了这行代码,它奏效了。【参考方案5】:
我提交了两个 hpprof 文件; 所以我只是运行了这个命令,文件已经成功删除了。
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch android/java_pid21295.hprof android/java_pid16516.hprof'
【讨论】:
【参考方案6】:这对我有用
git filter-branch -f --index-filter "git rm --cached --ignore-unmatch example/android/java_pid2243.hprof"
然后
git push -u origin main
注意:
我的文件出现在这样的目录中。
example/android/java_pid2243.prof
【讨论】:
以上是关于react-native:文件 android/java_pid14920.hprof 为 311.59 MB;这超出了 GitHub 的文件大小限制的主要内容,如果未能解决你的问题,请参考以下文章
在 utils.js 文件(React-Native)中调用异步函数?