web-dev-qa-db-fra.com

La limite de taille du fichier Github a été modifiée le 18/06/13. Ne peut pas pousser maintenant

Comment cette modification à compter du 18 juin 2013 affecte-t-elle mon référentiel existant avec un fichier qui dépasse cette limite? J'ai poussé pour la dernière fois il y a 2 mois avec un gros fichier. 

J'ai un gros fichier que j'ai supprimé localement mais je ne peux rien pousser pour le moment. Je reçois une "erreur à distance" ... remote: error: Le fichier cron_log.log est de 126,91 Mo; cela dépasse la limite de taille de fichier de GitHub de 100 Mo

J'ai ajouté le fichier à .gitignore après le Push original ... Mais il existe toujours à distance (Origin)

Si vous l'enlevez localement, vous devriez vous en débarrasser à l'origine (Github), non? ... mais ... cela ne me laisse pas pousser car il y a un fichier sur Github qui dépasse la limite ...

https://github.com/blog/1533-new-file-size-limits

Ce sont les commandes que j'ai émises plus les messages d'erreur.

 git add 
 git commit -m "delete cron_log.log" 
 git maître d'origine Push 

 remote: code d'erreur: 40bef1f6653fd2410fb2ab40242bc879 
 remote: avertissement: erreur GH413: gros fichiers détecté .
 remote: avertissement: voir http://git.io/iEPt8g pour plus d'informations .
 remote: error: Le fichier cron_log.log est de 141,41 Mo; cela dépasse la limite de taille de fichier de GitHub de 100 Mo
 remote: error: Le fichier cron_log.log est de 126,91 Mo; cela dépasse la limite de taille de fichier de GitHub de 100 Mo

 Pour https://github.com/slinds(omited_here)/linexxxx(omited_here).git
 ! [rejeté à distance] maître -> maître (crochet de pré-réception refusé) 
 erreur: échec de l'envoi de références à 'https://github.com/slinds(omited_here)

J'ai ensuite essayé des choses comme 

git rm cron_log.log
git rm --cached cron_log.log

Même erreur.

22
slindsey3000

Comme indiqué dans rlb.usa , Github a ajouté une limite de taille de fichier qui vous empêche de transmettre des fichiers de plus de 100 Mo. Vous avez essayé de supprimer le fichier dans un nouveau commit et essayé de pousser cela. Cela échoue, car vous ne faites pas que pousser le dernier commit, mais aussi trois autres. Ces trois commits contiennent des versions de cron_log de 141 Mo et 126 Mo de taille. Ils font échouer votre Push.

Pour résoudre ce problème, vous avez deux options:

  • Exécutez git rebase -i Origin/master, configurez chaque commit pour le modifier et supprimez le fichier dans chacun avec git commit --amend
  • Utilisez le BFG Repo-Cleaner pour nettoyer tout votre historique.
23
Chronial

Bonjour, vous pouvez résoudre facilement de cette façon:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch FILENAME.TAR' --Prune-empty --tag-name-filter cat -- --all

lien: https://help.github.com/articles/remove-sensitive-data

26
liuggio

Selon la nouvelle limite de taille de fichier de GitHub (également: travailler avec des fichiers volumineux ), instituée il y a quelques heures à peine, GitHub a maintenant de nouvelles règles pour un référentiel de 1 Go, ainsi que des avertissements pour l'envoi de fichiers supérieurs à 50 Mo rejet de 100 Mo de fichiers.

GitHub vous avertit lorsque vous poussez un fichier de plus de 50 Mo. Nous allons rejeter push contenant des fichiers de plus de 100 Mo. Nous faisons cela pour quelques les raisons.

Vous avez quelques options, mais pas beaucoup:

  • Téléchargez vos fichiers de plus de 100 Mo vers un autre service et partagez-les avec celui-ci
  • Réduire la taille des fichiers problématiques
  • Trouver un nouveau référentiel
5
rlb.usa

La limite réelle pour chaque fichier sur GitHub est de 100 Mio et non de 100 Mo.

Démo: https://github.com/Franck-Dernoncourt/github-max-file-size


https://help.github.com/articles/what-is-my-disk-quota/ ( mirror ) affirme à tort qu'ils placent une limite stricte de fichiers dépassant 100 Mo

La confusion entre MB et MiB est visible lorsque vous appuyez sur: dans l'exemple ci-dessous, le message d'erreur du serveur GitHub indique que le fichier correspond à 101 Mo alors que git indique correctement qu'il s'agit de 101 MiB:

~\Documents\GitHub\test123 [master ↑1 +3 ~0 -0 !]> git Push
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 101.03 MiB | 896.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File S
torage - https://git-lfs.github.com.
remote: error: Trace: e9206a9cd05c4ff5de79bba9d4caf9df
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File 101MB is 101.00 MB; this exceeds GitHub's file size limit of
 100.00 MB
To https://github.com/Franck-Dernoncourt/test123.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to Push some refs to 'https://github.com/Franck-Dernoncourt/test12
3.git'
~\Documents\GitHub\test123 [master ↑1 +3 ~0 -0 !]>
1
Franck Dernoncourt

Utilisez ce script Python pour nettoyer votre dépôt des fichiers volumineux (je l’avais utilisé sur mon dépôt et cela fonctionnait très bien) https://Gist.github.com/1433794

0
Amir Rubin

J'ai essayé quelques réponses ci-dessus sans succès. Mais finalement, j'ai trouvé une solution en utilisant Github Desktop. Cliquez sur "Référentiel", "Annuler la dernière validation". Cela m'a permis de le faire deux fois, juste assez pour supprimer le commit incriminé. (J'avais déjà supprimé les gros fichiers du référentiel).

0
ash8