2012-06-10 20 views
7

Mam lokalne repozytorium git, nad którym sporo pracowałem, z pewną liczbą zatwierdzeń, które chciałbym zachować. Niestety, chociaż kod jest sensowny do wielokrotnego użytku, umieściłem pewne wrażliwe dane (nazwy baz danych/użytkowników/hasła) w bardzo wczesnym zatwierdzeniu. Chciałbym zmienić całą historię, aby anonimizować wrażliwe dane, zachowując ogólną strukturę historii. czy to możliwe? Jeśli tak to jak?Anonimizuj lokalne repozytorium git?

Odpowiedz

6

Myślę, że to pomoże:

+0

Tak. Ponowne pisanie historii jest kluczowe. Zrobiłem backupowe repozytorium (na wszelki wypadek), a następnie uruchomiłem 'git filter-branch --tree-filter 'sed -i" s/sensitive data/clean data/g *' HEAD', które usunęło wszystko z całości drzewo, dziękuję za wskazówkę! – naught101

0

usunąć je z repozytorium, a następnie popełnić. Następnie musisz zgnieść wszystkie zatwierdzenia od momentu dodania plików do czasu ich usunięcia. Możesz zobaczyć dobre wyjaśnienie na temat tego here, które w skrócie sugeruje użycie git rebase -i.

+0

Jestem świadomy, że mogę zgnieść remisy, ale to usunie historię, o której mówiłem. – naught101

Powiązane problemy