В git, как удалить удаленные файлы и переименовать, начиная с определенной фиксации в ветке, сохраняя при этом историю изменений для каждого файла (удаленных и переименованных)?Как удалить удаления и переименовать из истории?
Мой вариант использования: я взял ветку и начал оттуда новую ветку, где я удалил некоторые файлы и переименовал некоторые другие. Затем я изменил оставшиеся (и часто переименованные) файлы (а также добавил некоторые файлы). Теперь я хочу вернуться к исходным именам и восстановить удаленные файлы (которые все еще существуют на общей базе), сохраняя при этом историю всего. Моя конечная цель - объединить обратно в исходную ветку (так without the renames and file deletions that I introduced).
Можно ли это сделать? Мне интересно, как это легко, тем более что измененные файлы были изменены (поэтому наивное удаление переименований разделило бы ссылку на историю между исходными файлами и изменениями, которые я хочу сохранить)
PS: Изменения так как разветвленная ветвь обширна (по крайней мере, на «очищенной» ветке).
Git не отслеживает историю имен файлов. Это трекер контента; он вычисляет изменения имени файла из дельт во время выполнения. –
"*, так как переименованные файлы были изменены, поэтому наивное удаление переименований разделило бы ссылку на историю между исходными файлами и изменениями *« Это не обязательно так. Git может вычислять переименования даже при модификации файлов. Также, если вы переименуете файлы обратно к их оригинальным именам с помощью обычного фиксации, ваша ветка должна слить. – Schwern