Wpis z mikrobloga

Potrzebuję porady :/ Na jednej z instancji GitLaba ekipa postanowiła sobie składować pliki binarne (obrazy po kilkaset mega).
Wszystko było w normie, dopóki pewnego dnia po aktualizacji backupy skoczyły mi z 4.5GB na 10GB. Główna różnica to jeden plik .pack (w jednym z hashowanych katalogów). Coś gdzieś pękło - nie potrafi już wykorzystać "delty" czy czegoś tam różnicowo, i teraz backupy (i sam rozmiar instancji) przyrastają mi w strasznym tempie (tamci cały czas wgrywają nowe wersje tych plików).

Zanim wymyślę inny sposób na wersjonowanie ich pomysłów, potrzebuję posprzątać tę konkretną instancję. Poprosiłem o wywalenie starych wersji plików. Zrobili to poprzez usunięcie plików binarnych z repo i puszczenie commit->push (czy tam merge). Obecnie tego już nie widać, ale jak rozumiemy: "z repozytorium nic nie ginie". A w tym przypadku powinno.

Próbuję znaleźć coś sensownego, ale większość przypadków dotyczy czystego GITa (np. git filter-branch), a dokumentacja GitLaba wyraźnie mówi, żeby nie używać czystych poleceń gita na repozytoriach zarządzanych przez Gitlaba, bo może się zrobić kuku.

Musi być jakiś sposób, na permanentne wywalenie plików, np. po nieodpowiedzialnym/przypadkowym wgraniu danych krytycznych. Szukam jedynie pomysłu, czy ktoś robił już takie sprzątanie (wywalanie dużych plików), albo usuwanie czegoś na stałe razem z historią wstecz.

Przypominam, że mówimy o instancji GitLaba (lokalnej) i mam tu (chyba) ograniczone pole manewru (repozytoriów nie widać bezpośrednio z commandline'a). Jakiekolwiek wskazówki mile widziane.

#gitlab #git i trochę (sorki) #programowanie
  • 6
  • Odpowiedz
@RRybak: Musisz w jakiś sposób nadpisać historię brancha na którym znajduje się ten plik, możesz to zrobić lokalnie filter branchem, potem wypchnij ten branch z forcem
  • Odpowiedz
  • 0
@mcnight95: no właśnie próbuję coś ten deseń, bo "online" się chyba nie da nic wyczarować.
- mirror do siebie
- filter repo analiza
- filter repo wg ścieżek "deleted"

Na razie lokalnie zobaczę jak się to przełoży na git-sizer itp. Potem postawię jeszcze jedną instancję i spróbuję to spushować. Póki co sam "repack/filter" na laptopie trwa już
  • Odpowiedz