2014-05-11 17 views
6

Występuje fatalny błąd Sha1. Sądzę, że utknął, próbując pisać duże pliki. Mój status mówi, że mam 8 zgłoszeń przed sobą. Próbowałem dodać rozszerzenie pliku do listy ignorowanych w folderze exclude, ale nadal jest zablokowane. Jak postępować bez utraty lokalnych zmian (innych niż duże pliki)?Moje naciśnięcie git utknęło na dużym pliku. Co robić?

Próbowałem już Predict how much data will be pushed in a git push, a pakiet jest ogromny ~ 650 MB.

Nie wiem, jak zignorować pliki z poprzednich zatwierdzeń, które nie zostały przekazane. Czy mogę usunąć stare zatwierdzenia bez utraty lokalnych plików? Następnie usuń duże pliki, a następnie dokonaj ponownego zatwierdzenia?

Odpowiedz

8

Od http://git-scm.com/book/en/Git-Tools-Rewriting-History:

Usuwanie pliku z każdego Commit

dość powszechnie występuje ta. Ktoś przypadkowo popełnia ogromny plik binarny z bezmyślnym dodaniem git. I chcesz go usunąć wszędzie. Być może przypadkowo popełniłeś plik, który zawierał hasło, i chcesz, aby twój projekt był open source. filter-branch to narzędzie, którego prawdopodobnie używasz do wyszorowania całej historii. Aby usunąć plik o nazwie passwords.txt z całej historii, można skorzystać z opcji --tree filtr do filtrowania-branch:

$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD

Ale jeśli to tylko ostatni popełnić ty pomieszane można rozwiązać go za pomocą git rm large_file i git commit --amend

Powiązane problemy