← До списку лабораторних по Git
Повний опис / сценарій лабораторної:
Мета: зрозуміти як видалити секретний файл або рядок з усієї історії репозиторію. Крок 1. Усвідомити ризики випадкового внесення секретів у репозиторій. Пояснення: наприклад ключі доступу або паролі у конфігураційних файлах. Крок 2. Встановити інструмент git filter-repo якщо він ще не встановлений. Пояснення: у багатьох дистрибутивах він доступний як окремий пакет. Крок 3. Створити резервну копію репозиторію для тесту. Команда: cd ~ && cp -r git_lab1 git_lab1_filter_backup Крок 4. Перейти у тестову копію. Команда: cd git_lab1_filter_backup Крок 5. Припустити що файл secret.txt не повинен був потрапити в історію. Пояснення: у реальній ситуації можна створити такий файл спеціально для лабораторії. Крок 6. Запустити filter-repo для повного видалення цього файла з історії. Команда: git filter-repo --path secret.txt --invert-paths Пояснення: після цього файл і всі його версії зникнуть з історії. Крок 7. Перевірити історію та впевнитися що secret.txt більше не згадується. Команда: git log --stat | grep secret.txt || echo "secret.txt не знайдено у історії" Крок 8. Оцінити вплив на хеші комітів. Пояснення: усі хеші змінилися, тому знадобиться форсований push. Крок 9. Уявити план комунікації з командою перед переписуванням історії на production репозиторії. Пояснення: потрібно попередити усіх і узгодити дії з перехідним вікном. Крок 10. Міні звіт. Завдання: опишіть покроково що робити після переписування історії на сервері, щоб розробники синхронізували свої локальні клони без втрати роботи.