Возможно ли создать "параллельную реальность" в прошлом для каждого потомка (коммита, ветки) с последствиями в последнем сохранении?
Существуют инструменты, такие как команда rebase в Git, которые позволяют создавать "параллельную реальность" на основе существующей истории. Они не редактируют историю напрямую, а создают новую историю с изменениями. Для более сложных операций с историей, таких как изменение содержимого объектов или даты/почты в коммитах, можно использовать инструменты, например git-filter-repo.
Как реализовать эволюцию программы с разными степенями урезанности без необходимости повторного урезания каждый раз?
Для этого можно применить условную компиляцию или использование плагинов и других техник. Например, можно использовать препроцессор, который позволяет добавлять или удалять определенные части кода на основе условий. Такой препроцессор можно использовать как в основном языке программирования, так и при подключении внешних инструментов. Он поможет автоматизировать процесс урезания программы, избегая необходимости выполнять это вручную каждый раз.