Спецификация ветвления Git, которую вы должны знать

внешний интерфейс Git
Спецификация ветвления Git, которую вы должны знать

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

image

управление филиалом

именование ветвей

основная ветвь

  • master — это основная ветвь, а также ветвь, используемая для развертывания рабочей среды для обеспечения стабильности основной ветки.
  • Основная ветвь обычно объединяется с ветвями разработки и исправления, и код нельзя изменить напрямую в любое время.

развивать филиал

  • develop — это ветка разработки, в которой всегда хранится самый последний завершенный код с исправленными ошибками.
  • Когда в целом разработаны новые функции, ветви создаются функции на основе ветви разработки.

функциональная ветвь

  • При разработке новых функций создайте ветку функций на основе разработки.
  • Именование веток: ветки функций, начинающиеся с feature/, правила именования: feature/user_module, feature/cart_module

выпускная ветвь

  • релиз — это ветка перед запуском. На этапе выпуска и тестирования код ветки релиза будет использоваться в качестве эталона для тестирования.
当有一组feature开发完成,首先会合并到develop分支,进入提测时,会创建release分支。
如果测试过程中若存在bug需要修复,则直接由开发者在release分支修复并提交。
当测试完成之后,合并release分支到master和develop分支,此时master为最新代码,用作上线。

ветвь исправлений

  • Именование веток: исправление/ начинается с ремонтной ветки, и ее правила именования аналогичны функциональным веткам.
  • Когда в сети возникает срочная проблема, ее необходимо вовремя исправить.Используя основную ветку в качестве базовой линии, создайте ветку исправления.После завершения исправления ее необходимо объединить в основную ветку и ветку разработки.

Общие задачи

Добавить новые функции

(dev)$: git checkout -b feature/xxx            # 从dev建立特性分支
(feature/xxx)$: blabla                         # 开发
(feature/xxx)$: git add xxx
(feature/xxx)$: git commit -m 'commit comment'
(dev)$: git merge feature/xxx --no-ff          # 把特性分支合并到dev

исправить экстренную ошибку

(master)$: git checkout -b hotfix/xxx         # 从master建立hotfix分支
(hotfix/xxx)$: blabla                         # 开发
(hotfix/xxx)$: git add xxx
(hotfix/xxx)$: git commit -m 'commit comment'
(master)$: git merge hotfix/xxx --no-ff       # 把hotfix分支合并到master,并上线到生产环境
(dev)$: git merge hotfix/xxx --no-ff          # 把hotfix分支合并到dev,同步代码

код тестовой среды

(release)$: git merge dev --no-ff             # 把dev分支合并到release,然后在测试环境拉取并测试

Производственная среда онлайн

(master)$: git merge release --no-ff          # 把release测试好的代码合并到master,运维人员操作
(master)$: git tag -a v0.1 -m '部署包版本名'  #给版本命名,打Tag

image

спецификация журнала

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

Хорошо написанные сообщения фиксации служат трем важным целям:

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

В настоящее время у сообщества есть множество спецификаций написания сообщений коммитов. Из спецификации Angular это наиболее широко используемый метод записи, который является более разумным и систематическим. Как показано ниже:

image

Базовый синтаксис сообщений фиксации

Наиболее широко в промышленности используетсяAngular Git Commit Guidelines

Конкретный формат:

<type>: <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
  • type: тип этого коммита, например, стиль документации по исправлению ошибок и т. д.
  • scope: объем этого коммита
  • тема: Кратко объясните основную идею этого коммита и подчеркните несколько моментов в исходном тексте 1. Используйте повелительное предложение, это очень знакомое и незнакомое слово, чтобы отправить портал в это повелительное предложение 2. Не используйте заглавные буквы первая буква 3. Знаки препинания в конце ставить не надо
  • body: используется то же повелительное предложение. В основной части нам нужно подробно описать эту фиксацию, например, мотивацию для этого изменения. Если требуется разрыв строки, используйте |
  • нижний колонтитул: опишите проблему или изменение, связанное с ней, подробности см. в кейсе

Описание категории типа:

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

Требования к формату сообщений фиксации

# 标题行:50个字符以内,描述主要变更内容
#
# 主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括:
#
# * 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
# * 他如何解决这个问题? 具体描述解决问题的步骤
# * 是否存在副作用、风险? 
#
# 如果需要的化可以添加一个链接到issue地址或者其它文档

Ссылка на ссылку