Git: история и патчи

Повторение: цикл работы

Ещё повторение: переписывание истории с помощью reset

Тройственное объединение

Сложный мерж с конфликтами

Использование mergetool — melt, vimdiff, …

Rebase

Недостатки мержа:

Теперь представьте, что в этой ветке хранятся наши специальные патчи на апстрим, которые апстриму не нужны, а нам нужны. Тогда с каждой новой версией апстрима накладывать их будет всё сложнее.

Что надо/не надо:

Идея: «проиграть» изменения, сделанные в фиксах, прямо поверх свежего пастрима

Это очень старая идея «обмена патчами», см. ниже

git-rebase:

Следствия:

Интерактивный rebase: приукрашивание истории

Идея: «переиграть» все коммиты в данной ветке, начиная с некоторого

Идеально перед публикацией :)

Взаимодействие между разработчиками с помощью патчей

git-format-patch: серии патчей

Но лучше git-am, потому что он сохранит дату, commit message и author.

LecturesCMC/PythonDevelopment2020/05_GitHistoryPatches (last edited 2020-03-23 18:11:31 by FrBrGeorge)