@glaucidium

Возможно ли изменить прошлое в Git (или подобном) с передачей изменений в настоящее?

Как понял, Git действует как сохранения в играх: если уже имея цепочку сейвов, загрузишься с первого, что-то изменишь и пересохранишься, то изменения не отразятся на последнем сейве, а создадут параллельную реальность.

А возможно ли внести изменения в прошлом так, чтобы они перешли в каждого потомка (коммиты, ветки) и в последнем сейве проявились последствия?

Если не Git, то может в других системах контроля версий или в COW-файловых системах?

Если нет, то как делается чтобы прога, имеющая издания с разными степенями урезанности (nonlimit, premium, home, ...) могла эволюционировать лишь только главным изданием, и не приходилось каждый раз всё заново урезать вручную?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
А возможно ли внести изменения в прошлом так, чтобы они перешли в каждого потомка(коммиты, ветки) и в последнем сейве проявились последствия?

Можно не "внести изменения в прошлом", а как вы и сказали, создать "параллельную реальность". Все команды Git, про которые мы говорим, что они "редактируют историю" на самом деле ничего не редактируют в истории НИКОГДА, а лишь создают НОВУЮ историю ("параллельную реальность") на основе существующей. Например, команда rebase именно так и делает. Существуют инструменты, которые позволяют выполнять гораздо более сложные операции с историей - менять содержимое blob и tree объектов, менять дату/почту в коммитах и вообще всё что угодно, например CLI-инструмент и неплохая Python-библиотека в одном лице - git-filter-repo.

Если нет, то как делается чтобы прога, имеющая издания с разными степенями урезанности (nonlimit, premium, home, ...) могла эволюционировать лишь только главным изданием, и не приходилось каждый раз всё заново урезать вручную?

Офигенно неожиданное продолжение вопроса. А при чём тут это вообще? Это делается например условной компиляцией (причём препроцессор можно присобачить и сбоку, не обязательно он должен быть в основном ЯП), плагинами и прочими техниками, при чём тут вообще Git и сохранения в играх?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы