Инициализировать голый репозиторий git с помощью LFS

Я хотел бы инициализировать несколько локальных репозиториев git на внешнем диске (git init --bare reponame), поддерживающем протокол git LFS. т.е. после их клонирования я хотел бы иметь возможность отслеживать большие файлы через LFS (версия файлов должна храниться на внешнем диске)

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

Git LFS: (0 of 122 files) 0 B / 157.56 MB
http: Post /media/me/bigdrive/git_repos/coding.git/info/lfs/objects/batch:
      unsupported protocol scheme ""
http: Post /media/me/bigdrive/git_repos/coding.git/info/lfs/objects/batch:
      unsupported protocol scheme ""
error: failed to push some refs to '/media/me/bigdrive/git_repos/coding'`

Я не нашел руководства о том, как это сделать, и справочная страница LFS, похоже, не предлагает решения. Руководства GitHub/BitBucket только объясняют, как это сделать в локальном репозитории, а затем отправляют в правильно настроенный репозиторий git на своих серверах.

Ценю любую помощь, спасибо!


person user46317    schedule 28.01.2017    source источник


Ответы (1)


У меня были похожие проблемы, но мне удалось заставить его работать.

Шаг 1:

Загрузите и запустите сервер LFS (если вы еще этого не сделали), например https://github.com/git-lfs/lfs-test-server (не используйте его в рабочей среде.)

Шаг 2:

Правильно настройте URL-адрес сервера LFS для своего репозитория, как описано здесь: https://github.com/git-lfs/git-lfs/wiki/Tutorial#lfs-url

В моем случае было достаточно запустить в папке рабочей копии следующее:

git config -f .lfsconfig lfs.url http://username:password@localhost:8080
git add .lfsconfig

Замените имя пользователя и пароль нужными учетными данными, а localhost:8080 — URL-адресом вашего сервера Git.

Вы можете запустить git lfs env, чтобы проверить свои результаты.

Шаг 3.

Настройте переменные среды LFS_ADMINUSER и LFS_ADMINPASS, как описано здесь: https://github.com/git-lfs/lfs-test-server#running

Затем вы сможете посетить http://localhost:8080/mgmt (или там, где находится ваш сервер LFS). работает) в браузере и добавьте свои учетные данные.

Управление пользователями Git LFS.

Результаты выглядят многообещающе:

C:\Users\Nick\Desktop\WorkingCopy\Repo>git push origin master
warning: current Git remote contains credentials
warning: current Git remote contains credentials
Git LFS: (1 of 1 files) 6.72 KB / 6.72 KB
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 428 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To C:/Users/Nick/Desktop/WorkingCopy/../Repo
   309629f..7fe106d  master -> master

Папка lfs-content сервера LFS теперь содержит файл с точным размером добавленного файла.

папка lfs-content на стороне сервера.

person Nick Pruehs    schedule 21.04.2017