Можно ли перемещать / переименовывать файлы в Git и поддерживать их историю?

Короткий ответ: вы не можете.

Длинный ответ: вы можете использовать INFORMATION_SCHEMA , чтобы получить определения таблиц и использовать его для генерации необходимых операторов UPDATE динамически. Например, вы можете начать с этого:

SELECT TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_schema'

Я постараюсь избежать этого, хотя если возможно.

610
задан Micha Wiedenmann 19 January 2018 в 09:40
поделиться

2 ответа

Git обнаруживает переименования, а не сохраняет операцию вместе с коммитом, поэтому использование git mv или mv не имеет значения.

Команда log принимает аргумент --follow, который продолжает историю до операции переименования, т.е. ищет похожее содержимое, используя эвристику:

http://git-scm.com/docs/git-log

Для просмотра полной истории используйте следующую команду:

git log --follow ./path/to/file
622
ответ дан 22 November 2019 в 21:53
поделиться
git log --follow [file]

покажет вам историю через переименования.

41
ответ дан 22 November 2019 в 21:53
поделиться
Другие вопросы по тегам:

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