Дублирование репозитория git и его настроек GIT-LFS

Я продублировал репозиторий в более новый репо, но при выполнении клонирования git в новом репо он не может загрузить файлы с помощью указателей LFS, и я получаю сообщение об ошибке, когда используется пятно... например... "Ошибка загрузки объекта. Объект не найден на сервере"

Шаги:

git clone --bare https://github.com/myuser/old-repo.git
cd old-repository.git
git push --mirror https://github.com/myuser/new-repo.git

git clone https://github.com/myuser/new-repo.git
[error.....git-lfs.exe smudge --- somefile.....Error downloading object]

Истории веток и коммитов выглядят нормально, но LFS не может загрузить необходимые файлы. Есть ли другой метод при использовании git-lfs?


person JoeCoder    schedule 11.07.2016    source источник
comment
Вы когда-нибудь находили ответ на этот вопрос? Я пытаюсь сделать то же самое, и в настоящее время похоже, что мне приходится выбирать между сохранением истории проекта или продолжением использования LFS. Я бы предпочел не делать этот выбор.   -  person MPLewis    schedule 18.01.2017


Ответы (3)


Я нашел эту ссылку: зеркалирование-репозитория-содержащего-объекты-хранилища-больших-файлов

Кажется, это точно отвечает на ваш вопрос. Важная часть, которую вы пропустили, это git lfs push/pull:

git clone --bare https://hostname/exampleuser/old-repository.git
cd old-repository.git
git lfs fetch --all
git push --mirror https://hostname/exampleuser/new-repository.git
git lfs push --all https://github.com/exampleuser/new-repository.git
person Chananel P    schedule 22.01.2017
comment
Ну, это заставляет меня чувствовать себя идиотом из-за того, насколько это просто, но определенно выполняет то, что я хотел сделать. Спасибо! - person MPLewis; 24.01.2017

Хуки, аддоны и тому подобное являются локальной конфигурацией репо, если ваша настройка git-lfs каким-то образом сложна, чтобы сделать второй раз, зафиксируйте скрипт настройки репо, чтобы сделать это, и запустите его при первой проверке.

person jthill    schedule 18.01.2017

Вы также можете клонировать с помощью протокола git, активы LFS по-прежнему будут загружаться через http, что может вызвать запрос пароля в зависимости от вашего сервера LFS, поскольку предварительный ключ sshs не будет использоваться для аутентификации на активах LFS.

 git clone [email protected]:username/my_lfs_repo.git destination_dir
person Mahesh Gareja    schedule 20.01.2017