Привет!
Бывают случаи, когда конфиденциальная информация попадает в систему контроля версий. git rm secrets.txt не сработает. Почему? Потому что данные останутся в других commits из-за логики работы git. Он должен помнить. Все. Такая вот у него нелегкая задача.
Что же делать в таком случае, как удалить все упоминания файла, как переписать историю?
В этом случае можно воспользоваться механизмом самого git: git filter-branch и указать требуемые параметры. Единственный недостаток (если у вас большой repo) - скорость работы.
Но! И это можно решить! Есть специализированный инструмент, который работает по схожему принципу, но быстрее - BFG repo cleaner (у кого еще возникли Doom/Quake-ассоциации? :))
Просто посмотрите видео, которое приведено по ссылке на инструмент: https://rtyley.github.io/bfg-repo-cleaner/
Не забывайте, что переписывать историю - опасно и сперва обсудите все с командой, чтобы вносимые изменения не оказали на их работу негативного воздействия :)
Post #18
906