Junior
Olete avastanud, et põhihalduri Git ajaloolises on commit'id, mis sisaldavad kriitilisi konfidentsiaalseid andmeid. Neid andmeid tuleb täielikult eemaldada kogu ajaloo jooksul. Hinnake, kui õigustatud ja ohutu oleks kasutada järgmist strateegiat: luua uus commit, mis eemaldab konfidentsiaalseid andmeid praegusest failiversioonist ja saata see maini. - Õige, kuid mitte optimaalne. On parem kasutada git revert'i commit'ide tühistamiseks - Tingimuslikult õige. See on ajutine lahendus, kuni leitakse radikaalsem viis andmete eemaldamiseks - Vale ja ebaohutu. Andmed eemaldatakse praegusest versioonist, kuid jäävad kättesaadavaks ajaloolises salves - Vale. See commit võib põhjustada uusi konflikte teiste harudega ühendamisel - Õige ja ohutu. See meetod tagab, et andmed eemaldatakse ja neid ei kuvata enam salves
sobes.tech AI
Vastus AI-lt
Неправильно и небезопасно. Создание нового коммита, который удалит конфиденциальные данные из текущей версии файлов, не удалит эти данные из истории репозитория — они останутся доступны в предыдущих коммитах. Чтобы полностью удалить конфиденциальные данные из всей истории, нужно использовать инструменты для переписывания истории, например, git filter-branch, git rebase или git filter-repo. После этого потребуется форсированная отправка (git push --force) и уведомление всех участников, чтобы они обновили свои локальные копии. Простое добавление коммита с удалением данных не решит проблему безопасности.