Przeczyszczanie danych repozytorium
Chociaż jedną z zalet usługi Git jest wydajne przechowywanie długich historii dla repozytoriów, czasami trzeba przeczyścić dane.
Najbardziej typowe sytuacje to, w których chcesz:
- Znacznie zmniejsz rozmiar repozytorium, usuwając historię.
- Usuń duży plik, który został przypadkowo przekazany.
- Usuń poufny plik, który nie powinien zostać przekazany.
W przypadku zatwierdzania poufnych danych (na przykład hasła, klucza) w usłudze Git można je usunąć z historii. Często używane są dwa narzędzia:
narzędzie git filter-repo
Repozytorium git filter-repo to narzędzie do ponownego zapisywania historii.
Jego podstawowe repozytorium filter-repo zawiera bibliotekę do tworzenia narzędzi do ponownego zapisywania historii. Użytkownicy z wyspecjalizowanymi potrzebami mogą szybko tworzyć całkowicie nowe narzędzia do ponownego zapisywania historii.
Uwaga
Więcej szczegółów znajduje się w repozytorium git-filter-repo.
BFG Repo-Cleaner
BFG Repo-Cleaner to powszechnie używane narzędzie typu open source do usuwania lub naprawiania zawartości w repozytoriach. Łatwiej jest użyć polecenia git filter-branch. W przypadku pojedynczego pliku lub zestawu plików użyj opcji --delete-files :
$ bfg --delete-files file_I_should_not_have_committed
Poniższy powłoka bash pokazuje, jak znaleźć wszystkie miejsca, w których w repozytorium istnieje plik o nazwie passwords.txt. Ponadto aby zastąpić cały tekst, możesz wykonać opcję --replace-text :
$ bfg --replace-text passwords.txt
Aby uzyskać więcej informacji, zobacz:
Szybko zapisz historię repozytorium git.
Usuwanie plików z usługi Git Large File Storage.
Usuwanie poufnych danych z repozytorium.
Narzędzie do czyszczenia repozytorium BFG.