【问题标题】:How can I ignore big files and push to git repo如何忽略大文件并推送到 git repo
【发布时间】:2015-10-05 16:20:18
【问题描述】:

之前,我在本地使用 git 没有使用.gitignore 然后, 我创建了一个.gitignore 文件,并在其中写入了所有不必要的文件。 当我将它们推送到 git repo 时,出现致命:远程端意外挂断错误。

我不想推送忽略文件,但是 git 试图将它们推送到 repo。

请帮帮我,我的错是什么?谢谢

【问题讨论】:

  • 您不想推送大文件或.gitignore 吗?
  • 我不想推送.gitignore中的所有文件

标签: git github


【解决方案1】:

GitHub 有一个nice article on this。您基本上想从 Git 历史记录中删除文件,而不是从文件系统中删除。

  • 如果您的文件是在上次提交中推送的,您可以这样做:

    git rm --cached path/to/your/big/file
    git commit --amend -CHEAD
    git push
    
  • 如果没有,他们建议使用BFG——一种清理存储库的工具(git-filter-branch 的替代品):

    bfg --strip-blobs-bigger-than 50M
    

    这将删除大于 50M 的文件。

【讨论】:

  • 感谢 github 文章的链接!我错过了git commit --amend -CHEAD,快疯了!
  • 不知道为什么stackoverflow的所有其他答案都比这更复杂
猜你喜欢
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
  • 2016-11-13
  • 2013-06-04
  • 2020-11-02
  • 2013-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多