react-native:由于hprof文件而无法推送到git

时间:2019-10-31 15:12:22

标签: android react-native github react-native-android hprof

我想将项目推送到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

我想删除此文件安全吗?

5 个答案:

答案 0 :(得分:4)

@bk2204 答案对我有用。 就我而言,.hprof 文件位于 android/hprof 中。

  1. 转到“.gitignore”

  2. 把这个片段放上就行了。

安卓/

*.hprof

  1. 保存 .gitignore 文件。

答案 1 :(得分:2)

这里唯一的答案对我不起作用,但是我找到了一个可行的解决方案。

我的冒犯文件是android/java_pid2325.hprof,但您的文件显然可能有所不同。我使用了git filter-branch

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch android/java_pid2325.hprof'

确保将*.hprof添加到您的.gitignore并推送提交。

答案 2 :(得分:1)

我提交了两个 hpprof 文件; 所以我只运行了这个命令,文件已经成功删除了。

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch android/java_pid21295.hprof android/java_pid16516.hprof'

答案 3 :(得分:1)

我运行了这个命令。它适用于 Windows 10

git filter-branch -f --index-filter "git rm --cached --ignore-unmatch android/java_pid10213.hprof"
  • 使用"代替'

答案 4 :(得分:0)

这听起来像一个堆概要分析输出文件,您可能根本不需要在存储库中。您可能希望将其从整个历史记录中删除,并可能在.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-branchbfg之类的工具来过滤掉不需要的大对象。

请注意,这样做将重写所有中间提交的历史记录,并更改其对象ID。