Я пытаюсь понять, как использовать git-lfs. Я использую сервер gitlab EE.
Возможно, я что-то упустил, но мне не удалось найти никакой документации по git-lfs, кроме очень короткого руководства, в котором представлена команда «track» и милые минутные видеоролики.
Например, я добавляю и отслеживаю tar-файл размером 3,7 ГБ в репо и нажимаю его:
git lfs track "*.tar"
cp <a folder>/a.tar .
git add a.tar
git commit -m "add a.tar"
git push origin master
Вопрос 1: был ли загружен файл .tar на сервер gitlab в конце этого процесса? Неясно, поскольку команды «добавить» и «зафиксировать» заняли некоторое время (может быть, недостаточно, чтобы я мог задаться вопросом, были ли за это время загружены 3,7 ГБ), но отправка вообще не заняла времени (часть второй).
Вопрос 2: если файл был загружен на сервер, то где? Очевидно, не в том же месте, что и репо (в том-то и дело). Я спросил, потому что на моем сервере выполняется резервное копирование, и мне нужно знать, требует ли использование git-lfs обновления его каким-либо образом.
Вопрос 3: если файл не был загружен, означает ли это, что другие пользователи репозитория получат ссылку на файл на исходном компьютере, на который этот файл был добавлен? Есть ли способ изменить это место на сервере? (вернуться к вопросу 2)
Вопрос 4: после клонирования репозитория действительно не существует полного файла 3.4G, а "просто" текстовый файл с содержимым:
version https://git-lfs.github.com/spec/v1
oid sha256:4bd049d85f06029d28bd94eae6da2b6eb69c0b2d25bac8c30ac1b156672c4082
size 3771098624
Это конечно круто, и в этом все дело. Но что, если требуется доступ к полному файлу? как его скачать?
Я был бы рад получить прямой ответ на этот вопрос или ссылку на соответствующую документацию.