Android 反应本族语:can';由于hprof文件,无法推送到git

Android 反应本族语:can';由于hprof文件,无法推送到git,android,react-native,github,react-native-android,hprof,Android,React Native,Github,React Native Android,Hprof,我想把我的项目放到github中,但是我注意到android文件夹中有一个名为java_pid14920.hprof的文件,导致大约300MB的内存 remote:错误:文件android/java_pid14920.hprof为301.75MB;这超出了GitHub的100.00 MB文件大小限制 我想知道删除这个文件是否安全?这听起来像是一个堆分析输出文件,您可能根本不想在存储库中使用它。您需要从整个历史记录中删除它,并可能在.gitignore中添加一个条目以忽略*.hprof。如果文件

我想把我的项目放到github中,但是我注意到android文件夹中有一个名为java_pid14920.hprof的文件,导致大约300MB的内存

remote:错误:文件android/java_pid14920.hprof为301.75MB;这超出了GitHub的100.00 MB文件大小限制


我想知道删除这个文件是否安全?

这听起来像是一个堆分析输出文件,您可能根本不想在存储库中使用它。您需要从整个历史记录中删除它,并可能在
.gitignore
中添加一个条目以忽略
*.hprof
。如果文件不在最新提交中,只需在那里删除它就不会使您的存储库可推送到GitHub;您必须从整个历史记录中删除该对象

如果您可以很容易地找到引入它的commit(尝试
git log--android/java_pid14920.hprof
),您可以执行
git rm android/java_pid14920.hprof
,然后执行
git commit--fixup HASH-OF-commit&&git_SEQUENCE\u EDITOR=true git-rebase-ir--autosquash HASH-OF-commit^
(注意插入符号)重新设置文件的基址

您还可以使用诸如
git filter branch
bfg
之类的工具来过滤掉不需要的大型对象


请注意,这样做将重写任何干预提交的历史记录,更改它们的对象ID。

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

我的问题文件是android/java_pid2325.hprof,但您的文件可能会有所不同。我使用了
git过滤器分支

git过滤器分支-f--索引过滤器'git rm--cached--ignore unmatch android/java_pid2325.hprof'

确保将
*.hprof
添加到
.gitignore
并按下提交按钮


注意*->确保将*.hprof的名称更改为与您本地的*.hprof相同的名称@bk2204答案对我有效。 在我的例子中,.hprof文件在android/hprof中

  • 转到“.gitignore”

  • 把这个片段放进去

  • 安卓/

    *.hprof

  • 保存.gitignore文件

  • 我提交了两份hpprof文件; 所以我刚刚运行了这个命令,文件被成功删除了

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

    你能找到解决办法吗?简短的回答是可以的。您可以(并且应该)删除堆转储文件(.hprof)。更多信息请点击此处,以获得帮助@Rizwanijaz非常感谢,这是对我来说最有效的答案。请问如何将*.hprof添加到.gitignore?我有4个hprof文件,我是否要将它们全部添加到gitignore?@zedArt解决方案由Hyeomin提供转到“.gitignore”只需将此片段放入。*。hprof Save.gitignore文件。我已手动删除hprof文件。然后我运行了
    git clean-f
    并再次尝试推送。但是,我一直收到错误消息。对此有什么解决方法吗?但是提交已经完成,投入。gitignore将从下一次提交开始工作。