Вклад в Apache Seata (инкубация)
Мы будем рады, если у вас есть желание поработать над Apache Seata. Прежде всего, мы очень приветствуем такое желание. И вот список рекомендаций по внесению вклада для вас.
[中文贡献文档]
Проблемы безопасности всегда воспринимаются серьёзно. В соответствии с нашим обычным принципом, мы не рекомендуем никому распространять информацию о проблемах безопасности. Если вы обнаружите проблему безопасности в Apache Seata, пожалуйста, не обсуждайте её публично и даже не создавайте публичный вопрос. Вместо этого мы рекомендуем вам отправить нам личное электронное письмо на адрес private@seata.apache.org, чтобы сообщить об этом.
Честно говоря, мы считаем каждого пользователя Seata очень добрым вкладчиком. После использования Seata у вас могут появиться некоторые отзывы о проекте. Тогда смело открывайте вопрос через NEW ISSUE.
Поскольку мы сотрудничаем над проектом Seata распределённым образом, мы ценим ХОРОШО НАПИСАННЫЕ, ПОДРОБНЫЕ и ЯСНЫЕ отчёты о проблемах. Чтобы сделать общение более эффективным, мы хотим, чтобы каждый мог поискать, существует ли ваша проблема в списке поиска. Если вы найдёте её существующей, добавьте свои данные в комментарии под существующим вопросом вместо того, чтобы открывать новый.
Чтобы сделать детали вопроса как можно более стандартными, мы создали ISSUE TEMPLATE для репортёров вопросов. Пожалуйста, ОБЯЗАТЕЛЬНО следуйте инструкциям по заполнению полей в шаблоне.
Существует множество случаев, когда вы можете открыть вопрос:
Также мы должны напомнить, что при заполнении нового вопроса, пожалуйста, помните об удалении конфиденциальных данных из вашего сообщения. Конфиденциальные данные могут включать пароль, секретный ключ, сетевые местоположения, личные бизнес-данные и т. д.
Приветствуется любое действие, направленное на улучшение проекта Seata. На GitHub каждое улучшение для Seata может быть сделано через PR (сокращение от запроса на вытягивание).
На самом деле невозможно перечислить их полностью. Просто запомните один принцип:
МЫ ЖДЕМ ЛЮБОГО PR ОТ ВАС.
Так как вы готовы улучшить Seata с помощью PR, мы предлагаем вам взглянуть на правила PR здесь.
Для того чтобы выдвинуть PR, предполагается, что у вас зарегистрирован идентификатор GitHub. Затем вы можете завершить подготовку, выполнив следующие шаги:
FORK Seata в свой репозиторий. Для этого вам нужно просто нажать кнопку Fork справа от главной страницы [apache/incubator-seata]. Затем у вас появится ваш репозиторий по адресу https://github.com/<your-username>/incubator-seata
, где <your-username>
— это ваше имя пользователя на GitHub.
CLONE свой собственный репозиторий для разработки локально. Используйте git clone git@github.com:<your-username>/incubator-seata.git
, чтобы клонировать репозиторий на свой локальный компьютер. Затем вы сможете создавать новые ветки, чтобы завершить изменения, которые вы хотите внести. Добавление удалённого upstream
Для этого используйте следующие две команды:
git remote add upstream git@github.com:apache/incubator-seata.git
git remote set-url --push upstream no-pushing
После этих действий вы можете проверить конфигурацию git remote следующим образом:
$ git remote -v
origin git@github.com:<your-username>/incubator-seata.git (fetch)
origin git@github.com:<your-username>/incubator-seata.git (push)
upstream git@github.com:apache/incubator-seata.git (fetch)
upstream no-pushing (push)
Благодаря этой настройке мы можем легко синхронизировать локальные ветки с ветками upstream.
Определение веток
Сейчас мы предполагаем, что каждый вклад через запрос на вытягивание (pull request) предназначен для ветки develop в Seata. Перед тем как вносить свой вклад, полезно знать определение веток.
Как участник, помните, что каждый вклад через pull request предназначен для ветки develop. В проекте Seata есть несколько других веток, которые мы обычно называем release branches (например, 0.6.0, 0.6.1), feature branches, hotfix branches и master branch.
Когда официально выпускаем версию, будет создана ветка release, которая будет названа номером версии.
После релиза мы объединим фиксацию ветки release в мастер-ветку.
Если мы обнаружим ошибку в определённой версии, мы решим исправить её в более поздней версии или исправить в конкретной версии hotfix. Когда мы решаем исправить версию hotfix, мы создадим ветку hotfix на основе соответствующей ветки release, выполним ремонт кода и проверку и объединим её в ветки develop и master.
Для более крупных функций мы создадим feature-ветки для разработки и проверки.
Правила фиксации
В Seata мы серьёзно относимся к двум правилам при фиксации:
Commit Message
Сообщение о фиксации может помочь рецензентам лучше понять цель отправленного PR. Это также может ускорить процедуру проверки кода. Мы призываем участников использовать ЯСНЫЕ сообщения о фиксации, а не двусмысленные сообщения. Обычно мы рекомендуем следующий тип сообщений о фиксации:
С другой стороны, мы не рекомендуем участникам использовать следующие типы сообщений о фиксации:
Если вы запутались, пожалуйста, ознакомьтесь с Как написать сообщение о фиксации Git для начала.
Commit Content
Содержимое фиксации представляет все изменения содержимого, включённые в одну фиксацию. Лучше всего включать вещи в одну фиксацию, которая может поддерживать полный обзор рецензента без помощи других фиксаций. Другими словами, содержимое одной фиксации может пройти CI, чтобы избежать беспорядка в коде. Короче говоря, есть три основных правила, которые следует иметь в виду:
user.name
, user.email
) при фиксации, чтобы убедиться, что он связан с вашим GitHub ID.git config --get user.name
git config --get user.email
Кроме того, в части изменения кода мы предлагаем всем участникам прочитать стиль кода Seata.
Независимо от сообщения о фиксации или содержимого фиксации, мы уделяем больше внимания проверке кода.
PR Description
PR — это единственный способ внести изменения в файлы проекта Seata. Чтобы помочь рецензентам лучше понять вашу цель, описание PR не должно быть слишком длинным. Детально. Мы рекомендуем участникам следовать шаблону PR template, чтобы завершить запрос на вытягивание.
Приветствуются любые тестовые примеры. В настоящее время функциональные тестовые сценарии Seata имеют высокий приоритет.
Для модульного тестирования необходимо создать файл теста с именем xxxTest.java
в каталоге тестов того же модуля. Рекомендуется использовать среду UT junit5.
Для интеграционного тестирования вы можете поместить интеграционный тест в каталог тестов или модуль seata-test. Рекомендуется использовать тестовую среду mockito.
Мы выбираем GitHub в качестве основного места для совместной работы над Seata. Поэтому здесь всегда есть последние обновления Seata. Хотя вклад через PR — это явный способ помочь, мы всё ещё призываем к любым другим способам.
Стиль кода Seata соответствует стандартам Alibaba Java Coding Guidelines.
Alibaba-Java-Coding-Guidelines
Устанавливать не обязательно, если вы хотите найти проблему во время кодирования.
Одним словом, ЛЮБАЯ ПОМОЩЬ — ЭТО ВКЛАД.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )