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

OSCHINA-MIRROR/mirrors-git-lfs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 13 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 10.03.2025 15:23 0f98afb

Вклад в Git Large File Storage

Приветствуем ваш интерес к участию в этом проекте! Ваш вклад крайне важен для того, чтобы сделать его лучшим возможным.

Вклады в этот проект предоставляются общественности под лицензией открытого источника этого проекта.

Этот проект следует Открытому кодексу поведения. Участие в нём требует от вас соблюдения данного кодекса.

Запросы на новые возможности

Запросы на новые возможности приветствуются, но имеют гораздо больше шансов быть принятыми, если они соответствуют основополагающим принципам проекта. Git LFS предназначен для конечных пользователей, а не для экспертов Git. Он должен легко вписываться в стандартный рабочий процесс и требовать минимальной настройки клиента.* Большие объекты отправляются на серверы Git LFS во время выполнения команды git push.

  • Большие объекты загружаются во время выполнения команды git checkout.
  • Серверы Git LFS связаны с удаленными репозиториями Git по умолчанию. Хосты Git могут поддерживать пользователей без необходимости создания дополнительных настроек. Пользователи могут получать доступ к различным серверам Git LFS так же, как к различным удалённым репозиториям Git.
  • Запросы на загрузку и выгрузку данных должны использовать ту же форму аутентификации, что и Git: SSH через публичные ключи и HTTPS через помощники Git для управления учётными данными.
  • Серверы Git LFS используют JSON API, спроектированный с прогрессивным улучшением. Серверы могут просто хранить данные на облачном хранилище или реализовывать более эффективные методы передачи данных.Учитывая акцент проекта на конечных пользователях, мы обычно осторожно относимся к введению новых возможностей, которые делают потерю данных легче или склонны к неправильному использованию. Однако мы не обязательно против добавления общих настраиваемых возможностей или функций для продвинутых пользователей, если они не конфликтуют с другими целями проекта.

Управление проектом

Проект Git LFS полностью управляем через этот проект открытого источника. Milestone'ы показывают высокие уровни задач, приоритизированных для будущей работы. Предложения по крупным новым возможностям должны быть представлены в виде запроса на слияние, который добавляет файл markdown в docs/proposals, обсуждающий данную возможность. Это позволяет сообществу обсудить её до написания большого объёма кода.

Команды Git LFS используют следующие метки для отслеживания задач и запросов на слияние:

  • bug — Задача, описывающая ошибку.
  • enhancement — Возможность нового функционала.
  • review — Запрос на слияние, готовый к проверке.
  • release — Чеклист задач, подготовленных для будущего выпуска.

Стратегия ветвления

В целом, участники должны работать над изменениями в ветках, основанных на ветке main, а запросы на слияние отправлять в ветку main.## Отправка запроса на слияние

  1. [Создайте форк][] и клонируйте репозиторий
  2. Настройте и установите зависимости: make
  3. Убедитесь, что тесты проходят на вашей машине: make test
  4. Создайте новую ветку на основе main: git checkout -b <my-branch-name> main
  5. Внесите изменения, добавьте тесты и убедитесь, что тесты продолжают проходить
  6. Отправьте изменения в свой форк и отправьте запрос на слияние из своей ветки в main
  7. Похвалите себя за проделанную работу и подождите, пока ваш запрос на слияние будет проверен

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

  • Следуйте стилю оформления, где это возможно.
  • Напишите тесты.
  • Обновите документацию при необходимости. Команды имеют страницы справки.
  • Сохраните свои изменения как можно более сфокусированными. Если у вас есть несколько независимых друг от друга изменений, рассмотрите возможность отправки их как отдельных запросов на слияние.
  • Напишите хорошее сообщение коммита.
  • Опишите причину ваших изменений в запросе на слияние. Вы часто можете использовать часть хорошего сообщения коммита как отправную точку.

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

чтобы узнать, нет ли уже ответа на ваш вопрос.

ПроблемыЕсли вы считаете, что нашли ошибку или столкнулись с проблемой, мы будем рады услышать об этом! Вот несколько советов, которые помогут вам получить ответ на свой вопрос как можно быстрее:

  • Полезно, если ваш запрос включает вывод команды git lfs env, а также любую связанную информацию о платформе или конфигурации (например, использование контейнеров или CI, Cygwin, WSL или нестандартной аутентификации).
  • Обратитесь к страницам диагностики проблем и часто задаваемых вопросов в вики. Мы регулярно обновляем их информацией о том, как выявлять проблемы. Если это кажется подходящим, включите любую информацию, которую вы узнали, следуя этим шагам.
  • Если у вас возникли проблемы с серверной стороной LFS от GitHub, лучше всего обратиться к группе поддержки GitHub за помощью. Мы не можем решать специфические проблемы GitHub в этом проекте, но группа поддержки сделает все возможное, чтобы помочь вам.
  • Если вы видите закрытый старый запрос, который был исправлен, но продолжаете сталкиваться с этой проблемой на своей системе, пожалуйста, откройте новый запрос. Проблема, которую вы видите, вероятно, отличается хотя бы по внутреннему механизму работы, и мы сможем лучше помочь вам, имея новый запрос со всеми необходимыми данными.## Сборка

Предварительные условия

Git LFS зависит от наличия рабочего окружения разработки на Go. Официально мы поддерживаем последнюю версию Go, хотя стараемся не ломать обратную совместимость с более ранними версиями, если это возможно.

На RHEL и других системах, таких как Red Hat Enterprise Linux Server release 7.2 (Maipo), необходимо установить минимальные пакеты для сборки Git LFS:

$ sudo yum install gcc
$ sudo yum install perl-Digest-SHA

Чтобы запустить сборку RPM rpm/build_rpms.bsh, вам потребуется установить:

$ sudo yum install ruby-devel

(в случае использования AWS экземпляра может потребоваться выполнение команды sudo yum-config-manager --enable rhui-REGION-rhel-server-optional)

Сборка Git LFS

Самым простым способом для скачивания Git LFS для внесения изменений является команда git clone:

$ git clone git@github.com:git-lfs/git-lfs.git
$ cd git-lfs

Отсюда выполните make для сборки Git LFS в директории ./bin. Перед отправкой изменений убедитесь, что вы запустили тесты на Go и тесты интеграции на Shell:

$ make test          # выполняет только тесты на Go
$ cd t && make test  # выполняет тесты на Shell в директории ./t
$ script/cibuild     # выполняет все тесты с подробным отладочным выводом

Обновление сторонних пакетов

  1. Обновите go.mod и go.sum. Вы можете убедиться, что последний актуален, используя инструменты Go вместо вручательного редактирования go.mod (например, go get gopath@версия) или запустив команду go mod tidy или make go.sum.1. Подтвердите изменения.

  2. Отправьте запрос на слияние.

Выпуск версий

Если вы являетесь текущим поддерживаемым лицом, см. [руководство по выпускам] (./docs/howto/release-git-lfs.md) для информации о том, как выполнить выпуск.

Ресурсы

Опубликовать ( 0 )

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

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