Я бы рекомендовал использовать BFG Repo-Cleaner , более простую и быструю альтернативу git-filter-branch
, специально разработанную для удаления личных данных из репозиториев Git.
Инструкции по использованию описывают шаги более подробно, но основной бит прост: скачайте банку BFG (требуется Java 6 или выше) и выполните эту команду:
$ java -jar bfg.jar --replace-text replacements.txt my-repo.git
Файл replacements.txt
должен содержать все замены, которые вы хотите сделать, в таком формате (одна запись на строку - обратите внимание, что комментарии не должны быть включены):
PASSWORD1 # Replace literal string 'PASSWORD1' with '***REMOVED***' (default)
PASSWORD2==>examplePass # replace with 'examplePass' instead
PASSWORD3==> # replace with the empty string
regex:password=\w+==>password= # Replace, using a regex
Вся ваша история репозитория будет отсканирована, и все недвоичные файлы (размером менее 1 МБ) будут иметь выполненные замены: любая подходящая строка (которая отсутствует в вашем последнем коммите) будет заменен.
Полное раскрытие: я являюсь автором репо-уборщика BFG.