Jak się pozbyć wybranych plików z całej historii gita?

0

Otóż dostałem w spadku do pracy aplikację w Angularze która w zamyśle miała stać na github pages. GitHub pages było ustawione że wszystko z folderu /docs było publiczne. I teraz osoba która rozwijała to oprogramowanie, co 10-15 commitów sobie budowała html/css/js'y, wsadzała do tego /doc i commitowała. Czasem były commity które miały i zmiany w logice i commit'owanie zbudowanej aplikacji.

I teraz jednym z moich zadań jest przeniesienie tej aplikacji na inny server niż github pages i chciałbym sie całkowicie pozbyć tego folderu /docs, nie tylko z repozytorium ale też z historii. Oczywistym ż trzeba będzie zrobić rebase całego projektu, żeby jednak historię rozwoju zachować, ale nie będę robił amenda wywalając pliki bo jednak w historii z 500 commitów jest.

Macie jakiś pomysł? Wszystkie te pliki można dopasować regexpem /docs/(app.(js|css|html))|(img/.+)

0

Coś takiego znalazłem https://gist.github.com/wdalmut/1610856

0
mr_jaro napisał(a):

Coś takiego znalazłem https://gist.github.com/wdalmut/1610856

No prawie dobrze :D bo tę pliki mają dopisanią checksumę przy buildzie, żeby cache'ować tylko te niezmienione. Ale może da się przerobić znaleziony przez Ciebie kod pod regexp.

0

@TomRiddle: GitHub ma na ten temat artykuł https://help.github.com/en/articles/removing-sensitive-data-from-a-repository. I ogólnie zamiast git filter-branch lepiej użyć https://rtyley.github.io/bfg-repo-cleaner/, będzie zdecydowanie, zdecydowanie szybciej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1