GOOGLE ADS

понедельник, 11 апреля 2022 г.

Разрешение конфликтов при перемещении старой ветки на ветку, перенесенную в Git LFS

У меня есть репозиторий («репо»), который нужно постепенно перенести в новый репозиторий («репо-lfs»). repo-lfs использует LFS для хранения больших файлов, а repo — нет.

Промежуточное состояние выглядит следующим образом:

repo-lfs: ---------------> main
repo: ---------------> main
\_________ release-1.0

Теперь я хочу перенести ветку «релиз-1.0» на repo-lfs, что требует перебазирования repo:release-1.0 на repo-lfs:main. Я уже добавил репо в качестве удаленного на repo-lfs, но наивная перебазировка создает конфликты для каждого изменения в каждом файле, который был перенесен в Git LFS:

$ git rebase --onto <correct commit on main> repo/main repo/release-1.0
Auto-merging xy.zip
CONFLICT (content): Merge conflict in xy.zip
[...]
Could not apply 96639f9... Edited xy.zip
Encountered 1 file(s) that should have been pointers, but weren't:
xy.zip

Как мне автоматически разрешать эти «конфликты» очевидным образом, т. е. применяя изменения к файлу в git LFS?


Решение проблемы

Теперь я могу ответить на свой вопрос:

Вам вообще не нужно использовать git rebaseи разрешать возникающие конфликты. git lfs migrate importявляется полностью детерминированным, что позволяет вообще избежать проблемы.

Пока вы не переписываете историю repo, вы можете переносить новые ветки repo-lfs, просто проверяя их как локальные ветки repo-lfsи выполняя ту же самую git lfs migrate importкоманду, которая первоначально использовалась для переноса mainветки. Git LFS будет создавать точно такие же хэши коммитов, которые он ранее создавал для всех коммитов, совместно используемых между веткой выпуска и main, что означает, что новая ветка будет автоматически присоединена к правильному родительскому коммиту, а результирующая история будет соответствовать истории из репозитория, отличного от LFS. в совершенстве.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...