Wie ignoriere ich das Pushen größerer Dateien zu GitHub?

Wie ignoriere ich das Pushen größerer Dateien zu GitHub?

Ich bin neu bei Git und habe versucht, mein Projektverzeichnis auf GitHub zu übertragen.

Unten sind die Schritte aufgeführt, die ich befolgt habe.

git init

git add .

git commit -m 'first commit'

git push <my repo address>

Dann wird der folgende Fehler ausgegeben.

Counting objects: 95, done.
Delta compression using up to 32 threads.
Compressing objects: 100% (73/73), done.
Writing objects: 100% (77/77), 920.61 MiB | 27.90 MiB/s, done.
Total 77 (delta 37), reused 1 (delta 0)
remote: Resolving deltas: 100% (37/37), completed with 10 local objects.
remote: warning: File images/log is 60.77 MB; this is larger than GitHub's recom                                                      mended maximum file size of 50.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File S                                                      torage - https://git-lfs.github.com.
remote: error: Trace: c3704dac955cd6d24c55bfab021fbe2a
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File images/sql-push-image1.iso is 349.21 MB; this                                                       exceeds GitHub's file size limit of 100.00 MB
remote: error: File images/sql-push-image1.SPA.bin is 570.62 MB; this excee                                                      ds GitHub's file size limit of 100.00 MB
remote: error: File images/sql-push-image2.SPA.bin is 348.69 MB; t                                                      his exceeds GitHub's file size limit of 100.00 MB
remote: error: File images/sql-push-image1.ova is 349.49 MB; this                                                       exceeds GitHub's file size limit of 100.00 MB
To https://github.com/mohandev/sql-qa.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/mohandev/sql-qa.git

Viele haben darauf verwiesen, dass das Erstellen einer .gitignore-Datei zum Ignorieren von Dateien erforderlich ist. Daher wurde die .gitignore-Datei mit dem folgenden Inhalt erstellt.

*.iso
*.bin
*.ova

Dann führen Sie die folgenden Befehle aus

git add .

git commit -m 'ignoring certian image files'

git push

Aber es trat erneut der gleiche Fehler auf.

Wie kann dieses Problem behoben werden?

Antwort1

Wenn Sie gitignore schreiben, enthält das nur:

*.iso
*.bin
*.ova

das Git ignoriert einfach die Dateien *.iso *.bin und *.ova in Ihrem Stammverzeichnis, aber nicht in Ihrem images/-Verzeichnis,

Du kannst es versuchen :

images/*.iso
images/*.bin
images/.ova

Antwort2

Hier ist eine mögliche Lösung:

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch images/*.bin images/*.ova images/*.iso'

wie beschriebenHier

verwandte Informationen