1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-git-lfs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Git Large File Storage

Статус CI

Git LFS — это расширение командной строки и спецификация для управления большими файлами с помощью Git.

Клиент написан на Go, с предварительно скомпилированными бинарниками доступными для Mac, Windows, Linux и FreeBSD. Подробнее можно узнать на веб-сайте, где представлен обзор возможностей.

Начало работы

Установка

На Linux

Дистрибутивы в форматах Debian и RPM доступны с сайта packagecloud, см. инструкции по установке на Linux.

На macOS

Бутылочки Homebrew распространяются через менеджер пакетов Homebrew и могут быть установлены с помощью команды brew install git-lfs.

На Windows

Git LFS включен в дистрибутивы Git для Windows. Альтернативно, вы можете установить последнюю версию Git LFS с помощью менеджера пакетов Chocolatey.

Из бинарников

Бинарные пакеты доступны для Linux, macOS, Windows и FreeBSD. Эти пакеты содержат скрипт, который выполнит следующие действия:

  • Установит бинарники Git LFS в системную переменную окружения $PATH$. В частности, на Windows вам может потребоваться перезапустить командную строку, чтобы изменения в $PATH$` вступили в силу и Git мог найти бинарник Git LFS.
  • Выполнит команду git lfs install, которая выполнит необходимые глобальные конфигурационные изменения.```ShellSession $ ./install.sh

Обратите внимание, что дистрибутивы Debian и RPM собраны для нескольких Linux-дистрибутивов и версий как для amd64, так и для i386.
Для архитектуры arm64 сборка производится только для последних версий Debian из-за стоимости эмуляции.

#### Из исходников

- Убедитесь, что у вас установлена самая новая версия Go, GNU Make и стандартной Unix-совместимой среды сборки.
- На Windows установите `goversioninfo` с помощью команды `go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest`.
- Выполните команду `make`.
- Разместите бинарник `git-lfs`, который находится в директории `bin`, в вашей системной переменной окружения `$PATH` или эквивалентной.
- Git LFS требует выполнения глобальных конфигурационных изменений один раз на машине. Это можно сделать, выполнив команду: `git lfs install`.

#### Проверка выпусков

Выпуски подписываются с помощью ключей OpenPGP одного из членов команды. Чтобы получить эти ключи, вы можете выполнить следующую команду, которая выведет их в стандартный вывод:

```ShellSession
$ curl -L https://api.github.com/repos/git-lfs/git-lfs/tarball/core-gpg-keys | tar -Ozxf -

Получив ключи, вы можете скачать файл sha256sums.asc и проверить нужный вам файл следующим образом:

$ gpg -d sha256sums.asc | grep git-lfs-linux-amd64-v2.10.0.tar.gz | shasum -a 256 -c
```Для удобства распространителей мы также предоставляем более широкий набор подписанных хэшей в файле `hashes.asc`. Эти хэши находятся вBSD-лицензированнойформе, но могут быть проверены с использованием `shasum` Perl или утилит хэширования GNU, как и те, что в `sha256sums.asc`.## Пример использования

Чтобы начать использовать Git LFS внутри Git-репозитория, который ещё не настроен для работы с Git LFS, вы можете указать, какие файлы должны управляться Git LFS. Это можно сделать, выполнив следующую команду _изнутри Git-репозитория_:

```bash
$ git lfs track "*.psd"

(Где *.psd — это шаблон имен файлов, которые вы хотите отслеживать. Вы можете узнать больше о синтаксисе этого шаблона здесь).

Примечание: кавычки вокруг шаблона важны для предотвращения расширения шаблона глобальной оболочкой.

После любого вызова git-lfs-track(1) или git-lfs-untrack(1) вы должны зафиксировать изменения в вашем файле .gitattributes. Это можно сделать, выполнив:

$ git add .gitattributes
$ git commit -m "track *.psd files using Git LFS"

Теперь вы можете взаимодействовать со своим Git-репозиторием так же, как обычно, а Git LFS будет управлять большими файлами. Например, изменение файла my.psd (отслеживается выше через *.psd):

$ git add my.psd
$ git commit -m "add psd"

Совет: если у вас уже есть большие файлы в истории вашего репозитория, git lfs track не будет отслеживать их ретроспективно. Для миграции существующих больших файлов в вашей истории на использование Git LFS используйте git lfs migrate. Например:

$ git lfs migrate import --include="*.psd" --everything

Обратите внимание, что это перезапишет историю и изменит все ID объектов Git в вашем репозитории, как и версию экспорта этой команды.Дополнительную информацию см. в разделе git-lfs-migrate(1). Вы можете подтвердить, что Git LFS управляет вашим PSD-файлом:

$ git lfs ls-files
3c2f7aedfb * my.psd

После выполнения ваших коммитов, отправьте ваши файлы на удалённый сервер Git:

$ git push origin main
Загрузка LFS объектов: OnClickListener 100% (1/1), 810 Б, 1.2 КБ/с
# ...
К https://github.com/git-lfs/git-lfs-test
   67fcf6a..47b2002  main -> main

Удаление

Если вы решили, что Git LFS не подходит вам, вы можете преобразовать ваш репозиторий обратно в обычный репозиторий Git с помощью команды git lfs migrate. Например:

$ git lfs migrate export --include="*.psd" --everything

Обратите внимание, что это перезапишет историю и изменит все ID объектов Git в вашем репозитории, как и версию импорта этой команды.

Если есть какие-то причины, по которым всё не работает так, как ожидалось, пожалуйста, сообщите нам об этом в задаче, и мы обязательно поможем или исправим ситуацию.

Ограничения

Git LFS поддерживает список текущих известных ограничений, который можно найти и редактировать здесь.

Текущие выпуски Git LFS будут работать с версиями Git начиная с Git 2.0.0. Однако, для наилучшей производительности рекомендуется использовать более свежую версию Git.Исходный код Git LFS использует модули Go в своей системе сборки, поэтому этот проект содержит файл go.mod, который определяет путь модуля Go. Однако, мы не поддерживаем стабильный API или ABI на уровне языка Go, поскольку Git LFS предназначен исключительно для использования как скомпилированной утилиты. Пожалуйста, не импортируйте модуль git-lfs в другие программы на Go и не полагайтесь на него как на зависимость исходного кода.## Нужна помощь?

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

$ git lfs help <подкоманда>

Официальная документация [docs] содержит справочные материалы и спецификации для этого инструмента. Также есть часто задаваемые вопросы (FAQ), которые отвечают на некоторые распространённые вопросы.

Если у вас есть вопрос о том, как использовать Git LFS, если вы не уверены в чём-то или ищете советы других людей относительно лучших практик или случаев использования, не стесняйтесь начать обсуждение.

Вы всегда можете открыть задачу, и один из участников команды будет ответить вам. Пожалуйста, убедитесь, что вы включаете:1. Вывод команды git lfs env, который отображает полезную информацию о вашей Git-репозитории, которую можно использовать при отладке. 2. Любые неудачные команды, повторно запущенные с GIT_TRACE=1 в окружении, что отображает дополнительную информацию, относящуюся к тому, почему команда завершилась ошибкой.

Участие

Для получения информации о работе над Git LFS и отправке патчей см. файл CONTRIBUTING.md. Связанные проекты указаны на странице Implementations wiki.

См. также SECURITY.md для получения информации о том, как отправлять сообщения о найденных уязвимостях безопасности.## Основная команда

Это люди, составляющие основную команду проекта Git LFS, которая управляет проектом.

В алфавитном порядке:

@chrisd8088 @larsxschneider
PGP 088335A9 PGP A5795889

Бывшие участники

Это люди, которые ранее составляли основную команду проекта Git LFS или значительно внесли свой вклад в развитие проекта. Без их помощи Git LFS был бы невозможен.

В алфавитном порядке:

[@andyneff][andyneff-user] [@bk2204][bk2204-user] [@PastelMobileSuit][PastelMobileSuit-user] [@rubyist][rubyist-user] [@sinbad][sinbad-user] [@technoweenie][technoweenie-user] [@ttaylorr][ttaylorr-user]
[][andyneff-user] [][bk2204-user] [][PastelMobileSuit-user] [][rubyist-user] [][sinbad-user] [][technoweenie-user] [![][ttaylorr-img]][ttaylorr-user]

[ttaylorr-img]: https://avatars2.githubusercontent.com/u/443245?s=100&v=4[andyneff-user]: https://github.com/andyneff [bk2204-user]: https://github.com/bk2204 [PastelMobileSuit-user]: https://github.com/PastelMobileSuit [sinbad-user]: https://github.com/sinbad [rubyist-user]: https://github.com/rubyist [technoweenie-user]: https://github.com/technoweenie [ttaylorr-user]: https://github.com/ttaylorr

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Git LFS — это расширение Git, разработанное Github для поддержки больших файлов. Развернуть Свернуть
Go и 6 других языков
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-git-lfs.git
git@api.gitlife.ru:oschina-mirror/mirrors-git-lfs.git
oschina-mirror
mirrors-git-lfs
mirrors-git-lfs
main