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

OSCHINA-MIRROR/mirrors-angularjs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 19 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 12.03.2025 16:31 c0ed436

Внесение вклада в AngularJS

Мы будем рады видеть ваш вклад в наш исходный код и сделать AngularJS ещё лучше, чем он есть сегодня! Вот руководства, которые мы хотели бы видеть выполненными:

Код поведения

Помогите нам сохранить AngularJS открытым и всеохватывающим. Пожалуйста, прочтите и следуйте за нашим [Кодом поведения][coc].

Вопросы, ошибки, возможности

Есть вопрос или проблема?

Не открывайте запросы для общего обслуживания, так как мы хотим использовать GitHub для отчетов об ошибках и запросов на новые возможности. У вас гораздо больше шансов получить ответ на свой вопрос на платформах, предназначенных для поддержки, лучшей из которых является [Stack Overflow][stackoverflow].

Stack Overflow — это отличное место для задания вопросов, поскольку:

  • там тысячи людей готовых помочь на Stack Overflow;
  • вопросы и ответы остаются доступными для публичного просмотра, поэтому ваш вопрос/ответ может помочь другому человеку;
  • система голосования Stack Overflow гарантирует, что лучшие ответы будут видны всем.Чтобы сэкономить время и ваши усилия, мы систематически закроем все запросы, связанные с общим обслуживанием, и направим людей к разделу, который вы сейчас читаете.

Другие каналы для поддержки:

  • [Google Group][groups] обсуждение списка;
  • [AngularJS IRC][irc];
  • [AngularJS Gitter][gitter];

Найдена ошибка или проблема?

Если вы найдёте баг в исходном коде, вы можете помочь нам, отправив запрос об ошибке в наш [GitHub Repository][github]. Ещё лучше, если вы отправите запрос на слияние с исправлением.

Пожалуйста, обратитесь к руководству по созданию запросов на исправление ниже.

Особое примечание для локализационных проблем: AngularJS использует [библиотеку Google Closure I18N], чтобы генерировать свои собственные файлы локализации (модуль ngLocale). Это значит, что любые изменения этих файлов будут потеряны при следующем импорте библиотеки. Так как данные библиотеки Closure i18n автоматически генерируются из данных проекта [Common Locale Data Repository (CLDR)], ошибки в данных следует сообщать там. Также см. [руководство Closure по изменениям i18n].### Отсутствие какой-либо функции?

Вы можете запросить новую функцию, отправив запрос в наш [репозиторий GitHub][github-issues].

Если вы хотите реализовать новую функцию, то следует учесть тип изменения:* Основные изменения, которые вы хотите внести в проект, должны сначала обсуждаться в [议题][github-issues], где следует четко описать преимущества предлагаемых изменений и новых функций.

  • Мелкие изменения могут сразу создаваться и отправляться в [репозиторий GitHub][github] в виде запроса на слияние. Изучите раздел о правилах подачи запросов на слияние и более подробную информацию в [документации по основному развитию][developers].### Хотите исправить документацию?

Если у вас есть предложения по документации, вы можете открыть запрос и описать проблему или улучшение, которое у вас есть — однако, создание исправления самостоятельно гораздо лучше!

Если вы хотите помочь улучшить документацию, хорошей идеей будет сообщить другим людям, над чем вы работаете, чтобы минимизировать дублирование усилий. Создайте новый запрос (или прокомментируйте существующий связанный) для того, чтобы сообщить другим людям, над чем вы работаете.

Если вы делаете небольшие изменения (ошибка печати, формулировка), не беспокойтесь о том, чтобы сначала подать запрос. Используйте дружественную синюю кнопку "Улучшить этот документ" в правом верхнем углу страницы документации для форка репозитория прямо там и быстрого изменения.

Для крупных исправлений, пожалуйста, соберите и протестируйте документацию перед отправкой запроса на слияние, чтобы убедиться, что вы случайно не ввели какие-либо проблемы с макетом или форматированием. Вы также должны убедиться, что ваше сообщение о коммите соответствует [Руководству по сообщению о коммите][developers.commits].

Правила подачи запросов

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

Форма "[новый запрос][github-new-issue]" содержит ряд приглашений, которые вам следует заполнить, чтобы сделать его проще понять и классифицировать. В целом, предоставление следующей информации увеличит шансы быстрого решения вашей проблемы:

  • Обзор проблемы — если возникает ошибка, полезна будет нумерованная трассировка стека
  • Мотивация или сценарий использования — объясните, почему это является проблемой для вас
  • Версия AngularJS — является ли это регрессией?
  • Браузеры и операционная система — является ли эта проблема связана со всеми браузерами или только с конкретными?
  • Повторение ошибки — предоставьте живой пример (используя [Plunker][plunker] или [JSFiddle][jsfiddle]) или четкий набор шагов.
  • Связанные проблемы — была ли ранее отмечена похожая проблема?
  • Предложение исправления — если вы не можете самостоятельно исправить ошибку, возможно, вы сможете указать на то, что может вызывать эту проблему (строка кода или коммит)

Здесь представлен отличный пример хорошо определенной проблемы: https://github.com/angular/angular.js/issues/5069.**Если вы получили помощь, помогайте другим. Правило хорошей кармы работает!**

Правила отправки Pull Request

Перед тем как отправить свой Pull Request рассмотрите следующие рекомендации:

  • Поиск GitHub за открытым или закрытым Pull Request, который связан с вашим вкладом. Вы не хотите повторять чужую работу.

  • Создание [рабочей среды][developers.setup]

  • Внесение ваших изменений в новую git-ветвь:

    git checkout -b my-fix-branch master
  • Создание вашего патча, включая подходящие тестовые случаи.

  • Соблюдение наших [правил программирования][developers.rules].

  • Если изменения затрагивают публичные API, измените или добавьте соответствующую [документацию][developers.documentation].

  • Запустите AngularJS [единичные][developers.tests-unit] и [E2E тесты][developers.tests-e2e], и убедитесь, что все тесты проходят. Обычно достаточно запустить тесты только на Chrome, так как наши системы непрерывной интеграции выполняют тесты на других браузерах.

  • Запустите yarn grunt eslint, чтобы проверить соответствие автоматически применяемым правилам программирования.

  • Подтвердите свои изменения с помощью описательного сообщения о коммите, которое следует нашим [конвенциям сообщений о коммитах][developers.commits]. Следование конвенциям сообщений о коммитах обязательно, поскольку заметки о выпусках автоматически генерируются из этих сообщений. ```shell git commit -a

    Примечание: опциональная команда `git commit -a` автоматически добавляет и удаляет отредактированные файлы. Перед созданием запроса на вытягивание (pull request), соберите пакет и запустите все тесты в последний раз:
    
    ```shell
    yarn grunt test
  • Отправьте вашу ветку на GitHub:

    git push origin my-fix-branch
  • В GitHub отправьте запрос на вытягивание (pull request) в ветку angular.js:master. Это активирует проверку Соглашения о лицензии участника (Contributor License Agreement) и непрерывной интеграции тестов.

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

  • Если мы предлагаем изменения, то:

    • Выполните необходимые исправления.

    • Запустите набор тестов AngularJS, чтобы удостовериться, что тесты продолжают проходить успешно.

    • Подтвердите ваши изменения в вашей ветке (например, my-fix-бранч).

    • Отправьте изменения в ваш репозиторий GitHub (это обновит ваш запрос на вытягивание).

      Вы также можете отредактировать первоначальные коммиты и зафорсить их отправку в ветку.```shell git rebase master -i git push origin my-fix-branch -f


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

Это всё! Спасибо за ваш вклад!

#### После того как ваш запрос на вытягивание будет объединён

После того как ваш запрос на вытягивание будет объединён, вы можете безопасно удалить свою ветку и получить последние изменения из основного (upstream) репозитория:

* Удалите удалённую ветку на GitHub через веб-интерфейс GitHub или используйте локальную оболочку следующим образом:

    ```shell
    git push origin --delete my-fix-branch
    ```

* Переключитесь на ветку `master`:

    ```shell
    git checkout master -f
    ```

* Удалите локальную ветку:

    ```shell
    git branch -d my-fix-branch
    ```

* Обновите вашу ветку `master` до последней версии из основного репозитория:

    ```shell
    git pull --ff upstream master
    ```

## <a name="cla"></a> Подписание Соглашения о лицензии участника (Contributor License Agreement)

При отправке запроса на вытягивание (pull request), дружелюбный бот попросит вас подписать наше Соглашение о лицензии участника (CLA), если вы ещё этого не сделали. К сожалению, это необходимо даже для изменений в документацию.
Процесс простой, мы обещаем!* Для частных лиц у нас есть [простая форма подписи][individual-cla].
* Для корпораций нам потребуется, чтобы вы [распечатали, подписали и отправили сканированный вариант электронной почтой, факсом или обычной почтой][corporate-cla].[individual-cla]: https://developers.google.com/open-source/docs/cla?hl=ru#individual-cla
[corporate-cla]: https://developers.google.com/open-source/docs/cla?hl=ru#corporate-cla
[Руководство по изменениям локализации в Closure Library]: https://github.com/google/closure-library/wiki/%D0%A1%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B2-Closure-Library
[кодекс поведения]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md
[Общий репозиторий данных локали (CLDR)]: http://cldr.unicode.org
[корпоративный CLA]: http://code.google.com/legal/corporate-cla-v1.0.html
[разработчики]: DEVELOPERS.md
[разработчики.коммиты]: DEVELOPERS.md#commits
[разработчики.документация]: DEVELOPERS.md#documentation
[разработчики.правила]: DEVELOPERS.md#rules
[разработчики.установка]: DEVELOPERS.md#setup
[разработчики.тесты.e2e]: DEVELOPERS.md#e2e-tests
[разработчики.тесты.unit]: DEVELOPERS.md#unit-tests
[задачи GitHub]: https://github.com/angular/angular.js/issues
[новый вопрос GitHub]: https://github.com/angular/angular.js/issues/new
[GitHub]: https://github.com/angular/angular.js
[Gitter]: https://gitter.im/angular/angular.js
[Библиотека Google Closure I18N]: https://github.com/google/closure-library/tree/master/closure/goog/i18n
[группы]: https://groups.google.com/forum/?fromgroups#!forum/angular
[IRC]: http://webchat.freenode.net/?channels=angularjs&uio=d4
[JSFiddle]: http://jsfiddle.net/
[Karma-BrowserStack]: https://github.com/karma-runner/karma-browserstack-launcher
[Karma-SauceLabs]: https://github.com/karma-runner/karma-sauce-launcher
[Plunker]: http://plnkr.co/edit
[StackOverflow]: http://stackoverflow.com/questions/tagged/angularjs

[![Аналитика](https://ga-beacon.appspot.com/UA-8594346-11/angular.js/CONTRIBUTING.md?pixel)](https://github.com/igrigorik/ga-beacon)

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

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-angularjs.git
git@api.gitlife.ru:oschina-mirror/mirrors-angularjs.git
oschina-mirror
mirrors-angularjs
mirrors-angularjs
master