Спецификация коммита AngularJS Git

спецификация кода

При внесении вклада в проекты с открытым исходным кодом на Github мы должны следовать указанным в них спецификациям подачи. Такие проекты, как Redis и AngularJs, имеют свои собственные ограничения вклада. Есть также некоторые высококлассные проекты, такие как учебные материалы, в которых отсутствуют ограничения на отправку.В настоящее время я обычно следую спецификации подачи AngularJs для PR.Лично я думаю, что эта спецификация имеет сильную ссылку и больше подходит в качестве спецификации для работа в команде.Поскольку китайской версии нет, то планирую перевести для ознакомления:

Формат

<type>(<scope>): <subject> //消息头
<BLANK LINE> //空行
<body> //正文
<BLANK LINE> //空行
<footer> //消息尾
  1. Чтобы быть совместимым с несколькими инструментами и облегчить чтение сообщений git, запрещено превышать 100 символов в строке!
  2. Сообщение фиксации содержит заголовок, тело и нижний колонтитул, разделенные пустыми строками.

откат

Если текущий коммит откатывает предыдущий коммит, его заголовок должен начинаться сrevert:в начале, за которым следует заголовок записи фиксации, для которой был выполнен откат. тело должно быть описано какThis reverts commit <hash>., hash — это значение SHA записи фиксации, для которой был выполнен откат.

заголовок

Заголовок — это одна строка, в которой кратко описывается изменение, включая тип, область применения (необязательно) и заголовок.

тип (тип)

  • Добавить функцию: feat (особенность)
  • Fix BUG: исправить (исправить ошибку)
  • Добавить документацию: docs (документация)
  • Стиль кода: стиль (форматирование, отсутствие точек с запятой, …)
  • Рефакторинг: рефакторинг
  • Добавить тестовый пример: test (при добавлении отсутствующих тестов)
  • chore (maintain)

масштаб (изменения касаются области)

Объем должен быть в состоянии указать измененную область. Например,location,browser, compile,rootScope, ngHref, ngClick, ngView и т. д. Это разделено по модулям.Если это серверная часть, это обычно иерархическая структура, которая может быть в соответствии с гранулярностью интерфейса (пользователь/логин) или в соответствии с услугой (UserService), модель Детализация (UserModel)

Если нет подходящей области, можно заменить подстановочным знаком *

текст (название)

Краткое описание изменения

  • Используйте повелительное наклонение в настоящем времени: «change» вместо «changed» или «changes».
  • Не делайте первую букву заглавной
  • Не заканчивайте точкой. конец

тело сообщения

  • Используйте повелительное наклонение в настоящем времени: например, «изменить» вместо «изменить» или «изменить».
  • Включите мотивацию для изменения и контраст с предыдущим поведением

трейлер сообщения

Большие перемены

Все основные изменения должны начинаться со словаBREAKING CHANGE:Начните с пробела или двух новых строк и объявите его как блок в начале конца сообщения. Остальная часть сообщения фиксации представляет собой описание изменений, обоснование и инструкции по миграции. Пример выглядит следующим образом:

BREAKING CHANGE: isolate scope bindings definition has changed and
    the inject option for the directive controller injection was removed.
    
    To migrate the code follow the example below:
    
    Before:
    
    scope: {
      myAttr: 'attribute',
      myBind: 'bind',
      myExpression: 'expression',
      myEval: 'evaluate',
      myAccessor: 'accessor'
    }
    
    After:
    
    scope: {
      myAttr: '@',
      myBind: '@',
      myExpression: '&',
      // myEval - usually not useful, but in cases where the expression is assignable, you can use '='
      myAccessor: '=' // in directive's template change myAccessor() to myAccessor
    }
    
    The removed `inject` wasn't generaly useful for directives so there should be no code using it.

Справочные проблемы (ошибки tapd)

Закрытые ошибки должны быть перечислены в отдельной строке в нижнем колонтитуле с префиксом «Closes» следующим образом:

Closes #234

Или закрыть несколько задач:

Closes #123, #245, #992

Пример

  1. feat
feat($browser): onUrlChange event (popstate/hashchange/polling)

Added new event to $browser:
- forward popstate event if available
- forward hashchange event if popstate not available
- do polling when neither popstate nor hashchange available

Breaks $browser.onHashChange, which was removed (use onUrlChange instead)
feat(directive): ng:disabled, ng:checked, ng:multiple, ng:readonly, ng:selected

New directives for proper binding these attributes in older browsers (IE).
Added coresponding description, live examples and e2e tests.

Closes #351
feat($compile): simplify isolate scope bindings

Changed the isolate scope binding options to:
  - @attr - attribute binding (including interpolation)
  - =model - by-directional model binding
  - &expr - expression execution binding

This change simplifies the terminology as well as
number of choices available to the developer. It
also supports local name aliasing from the parent.

BREAKING CHANGE: isolate scope bindings definition has changed and
the inject option for the directive controller injection was removed.

To migrate the code follow the example below:

Before:

scope: {
  myAttr: 'attribute',
  myBind: 'bind',
  myExpression: 'expression',
  myEval: 'evaluate',
  myAccessor: 'accessor'
}

After:

scope: {
  myAttr: '@',
  myBind: '@',
  myExpression: '&',
  // myEval - usually not useful, but in cases where the expression is assignable, you can use '='
  myAccessor: '=' // in directive's template change myAccessor() to myAccessor
}

The removed `inject` wasn't generaly useful for directives so there should be no code using it.
  1. fix
fix($compile): couple of unit tests for IE9

Older IEs serialize html uppercased, but IE9 does not...
Would be better to expect case insensitive, unfortunately jasmine does
not allow to user regexps for throw expectations.

Closes #392
Breaks foo.bar api, foo.baz should be used instead
  1. style
style($location): add couple of missing semi colons

docs(guide): updated fixed docs from Google Docs

Couple of typos fixed:
- indentation
- batchLogbatchLog -> batchLog
- start periodic checking
- missing brace

Ссылаться на