02.20 Работа с git и использование tkinter
- Правила работы с git, которые следует соблюдать при решении Д/З
- «Одно изменение — один коммит». Какие бывают изменения в Д/З?
- Дописал недописанное
- Исправил багу
- Добавил тест
- …
- «Дескриптивное описание»
- Если изменение атомарно — достаточно однострочника
Если в нескольких файлах или изменение неатомарно (например, добавил тест, словил ошибку, сделал коммит с ошибкой и тестом) — нужно и атомарное, и развёрнутое описание
- Также развёрнутое описание нужно, чтобы пояснить, что именно сделано
- «Ответственная публикация»
git rebase (повторение)
Учимся делать rebase!
reword и squash/fixup
$EDITOR
Внимание! У squash-коммита время не меняется (проверить)
- Rebase в уже опубликованном репозитории Д/З теоретически допустимы, но лучше их не делать, т. к. в целом это плохая практика
- «Одно изменение — один коммит». Какие бывают изменения в Д/З?
- (Введение в tkinter было на лекции)
Скопипастить простой пример из лекции, добиться работоспособности
- Пояснения к примеру
Задача 1. Модификация примера из лекций и исправление багов задним числом.
- Превратить пример 1 из лекции в пример 2 из лекции за четыре коммита:
Добавить кнопки и надпись (без управления геометрией просто .grid()
Добавить обработчик нажатия на кнопку «Time», который формирует строку со временем и записывает её в надпись (без StringVar)
- Расставить кнопки и надпись
Ввести StringVar
Поменять задним числом надпись "Sample application" на "Sample timer application" в самом первом коммите (rebase --root и fixup)
- Превратить пример 1 из лекции в пример 2 из лекции за четыре коммита:
Задача 2. Написать программу, которая с помощью subprocess и трёх кнопок отображает в виджете Label результат работы команд dir, date и git
- Сделать это минимум в три коммита
Д/З
- Доделать задачи и опубликовать их по стандартным правилам
- При публикации следовать рекомендациям оформления commit message
- Можно (и нужно) исправить старые commit message с помощью reword