Secret rotation
Якщо credential потрапив у repository history, першою дією є його відкликання або заміна; переписування history саме по собі не робить credential безпечним.
2. Git Workflow у PyCharm/IntelliJ →Відеобібліотека
Пошук у нотатках курсу Python мануфактура та спільних матеріалах з переходом на потрібну секунду.
Якщо credential потрапив у repository history, першою дією є його відкликання або заміна; переписування history саме по собі не робить credential безпечним.
2. Git Workflow у PyCharm/IntelliJ →Спеціалізований agent із власним Markdown/YAML definition, isolated context, model і контрольованим набором tools, permissions, skills, hooks та memory. Йому передається bounded task, а не весь main conversation history.
Як налаштувати мультиагентне середовище →Для вже опублікованої feature branch поточна Git documentation надає --force-with-lease як захисний варіант. Він не робить history rewrite безпечним автоматично: branch має бути персональною, а переписування — дозволеним командними правилами.
Видалення secret з останньої версії файлу не прибирає його зі старих commits, forks або cached clones. Спершу credential треба відкликати, потім узгодити очищення history.
2. Git Workflow у PyCharm/IntelliJ →У відео soft delete й анонімізація розглядаються як спосіб зберегти relational history без ідентифікації людини.
Article 17 визначає право на стирання та винятки, а Recital 26 відрізняє anonymous від pseudonymised data. Реалізація потребує окремих retention і legal-basis rules; soft delete сам по собі недостатній.
2018-05-25
Практика курсу на YOY, домашні завдання та формат ПМП →Локатор, що випадково пройшов один раз, ще не є стабільним. Класи можуть повторюватися, а на сторінці можуть одночасно існувати видимий і прихований варіанти одного елемента. Перед використанням CSS-селектора його потрібно вставити в пошук DevTools і перевірити кількість та порядок знайдених вузлів. PyCharm Local History дає змогу подивитися попередні версії файлу й відновити робочий варіант навіть без окремого Git-коміту. Це корисно для локальних експериментів, але не замінює контроль версій.
Однакова конфігурація потрібна, щоб локальний запуск і CI поводилися передбачувано. У проєкті фіксуються мінімальні версії `pytest`, `pytest-playwright`, `pytest-html`, Faker та інших залежностей. Це дає IDE, pytest і CI явні передумови замість неявної залежності від локального середовища автора. На початку також показано Local History і Smart Checkout у PyCharm/IntelliJ. Ці інструменти можуть допомогти повернути локальні зміни або розібрати конфлікт під час перемикання гілки, але не замінюють Git-історію та перевірку diff.
У діалозі Commit перший рядок повідомлення має стисло пояснювати завершену зміну. Нижче можна додати деталі, необхідні для майбутнього пошуку й code review. Ідентифікатор задачі в повідомленні або назві гілки допомагає простежити контекст. Перед комітом IDE може виконати Reformat Code та Optimize Imports. Ці операції потрібно переглянути так само, як ручні зміни: автоматичне форматування не є гарантією коректності.
Amend замінює останній коміт новою версією, що дозволяє додати забутий файл без окремого шумового коміту. Якщо попередній коміт уже запушено, його hash змінився, тому звичайний push відхиляється як non-fast-forward. У відео показано force-push у власну feature-гілку й окремо застережено не робити цього в `main`. Практичне уточнення: безпечніший варіант — `--force-with-lease`, і лише коли правила репозиторію дозволяють переписування гілки та ніхто інший не базує на ній роботу. Якщо це не погоджено, простіше додати новий виправний коміт.