98 lines
6 KiB
Markdown
98 lines
6 KiB
Markdown
|
---
|
|||
|
id: workflow-rules
|
|||
|
title: Правила работы c git
|
|||
|
---
|
|||
|
|
|||
|
## Общий порядок внесения изменений в репозитории
|
|||
|
|
|||
|
1. _Разработчик_, который хочет внести изменения в проект, клонирует к себе репозиторий, создаёт новую ветку с указанием в её имени номера задачи (например, 5-issue или 5-motor-fix), делает **commit**, делает **push** на сервер и **merge request** (запрос на слияние) через веб-интерфейс;
|
|||
|
2. _Maintainter_ (ведущий разработчик данного подпроекта) видит уведомление о том, что поступил запрос на слияние, делает **pull** с сервера в свой личный репозиторий (то есть подгружает ветку к себе) и рассматривает работу
|
|||
|
3. После рассмотрения maintainter даёт обратную связь в виде комментариев в merge request - это называется **review**.
|
|||
|
4. Разработчик получает уведомления о замечаниях ведущего, исправляет их и возвращается на п.1
|
|||
|
5. После исправления замечаний maintainer их проверяет, делает **merge** и изменения включаются в основную ветку(как правило, **main**).
|
|||
|
|
|||
|
## Правила публикации 3D моделей
|
|||
|
|
|||
|
- Файлы нативных (то есть специфичных для конкретной CAD-программы) форматов `.SLDPART`, `.SLDASM`, `.FCStd` публикуются в директории `src`.
|
|||
|
- Для каждой отдельной подсборки создаётся отдельная директория.
|
|||
|
- В корне директории публикуется STEP файл, включающий в себя все подсборки. Наименование файла должно отражать его содержание, поэтому следует избегать таких названий как `model`, `module`, `part`; желательно сборке в STEP присвоить имя репозитория - если репозиторий называется `roboarm-controller`, то файл будет называться `roboarm-controller.STEP`.
|
|||
|
- Архивы в репозитории не публикуются.
|
|||
|
- Для создания версий моделей используются метки - `tags`. Для создания метки нужно войти на страницу изменения и нажать вверху справа в выпадающем меню tag. Наименований версий в именах файлов (`*_v2.SLDPART`) быть не должно!
|
|||
|
- В файле README.md размещается описание модели и характеристики
|
|||
|
- Картинки размещаются в директории `img`
|
|||
|
- Модели для симуляций размещаться в директории `sim`
|
|||
|
|
|||
|
Образец:
|
|||
|
|
|||
|
```
|
|||
|
./README.md
|
|||
|
./soldering-tool.step
|
|||
|
./img/
|
|||
|
./img/soldering-tool.png
|
|||
|
./src/
|
|||
|
./src/паяльное_приспособление_в_сборе.SLDMASM
|
|||
|
./src/картридж/картридж.SLDMASM
|
|||
|
./src/картридж/крышка.SLDPART
|
|||
|
./src/насадка/насадка.SLDMASM
|
|||
|
```
|
|||
|
|
|||
|
## Файлы для добавления в .gitignore
|
|||
|
|
|||
|
Часто различные CAD/IDE/EDA создают в ходе работы временные файлы (бэкапы, пользовательские настройки и т.п.), которые не следует добавлять в историю изменений. Чтобы git игнорировал эти файлы, необходимо создать файл .gitignore в корне репозитория и добавить необходимые расширения. Ниже приведены шаблоны игнорируемых файлов для различных сред разработки.
|
|||
|
|
|||
|
### KiCAD
|
|||
|
```
|
|||
|
# Temporary files
|
|||
|
*.000
|
|||
|
*.bak
|
|||
|
*.bck
|
|||
|
*.kicad_pcb-bak
|
|||
|
*.sch-bak
|
|||
|
*~
|
|||
|
_autosave-*
|
|||
|
*.tmp
|
|||
|
*-save.pro
|
|||
|
*-save.kicad_pcb
|
|||
|
fp-info-cache
|
|||
|
# Netlist files (exported from Eeschema)
|
|||
|
*.net
|
|||
|
# Autorouter files (exported from Pcbnew)
|
|||
|
*.dsn
|
|||
|
*.ses
|
|||
|
```
|
|||
|
|
|||
|
### Solidworks
|
|||
|
```
|
|||
|
# ignore SolidWorks temporary files
|
|||
|
~$*.SLDPRT
|
|||
|
~$*.SLDASM
|
|||
|
```
|
|||
|
|
|||
|
### VSCode
|
|||
|
```
|
|||
|
.vscode/*
|
|||
|
!.vscode/settings.json
|
|||
|
!.vscode/tasks.json
|
|||
|
!.vscode/launch.json
|
|||
|
!.vscode/extensions.json
|
|||
|
!.vscode/*.code-snippets
|
|||
|
|
|||
|
# Local History for Visual Studio Code
|
|||
|
.history/
|
|||
|
|
|||
|
# Built Visual Studio Code Extensions
|
|||
|
*.vsix
|
|||
|
```
|
|||
|
|
|||
|
## Настройка уведомлений в Gitlab
|
|||
|
|
|||
|
Чтобы получать уведомления об изменениях по своим задачам и упоминаниях себя в обсуждениях:
|
|||
|
1. Перейдите по ссылке https://gitlab.com/-/profile/notifications и установите Notification email
|
|||
|
2. Для поля __Global notification Level__ выберите __Custom__ и укажите галочками какие уведомления желаете получать. Как минимум, следует указать:
|
|||
|
__New Issue__ - для новых задач, назначенных на Вас
|
|||
|
__New Note__ - для заметок, где вы упоминаетесь
|
|||
|
__Due date__ - уведомление о сроках завершения Вашей задачи
|
|||
|
|
|||
|
Ниже можно установить определённый набор уведомлений для конкретных репозиториев и подпроектов. Например, если Вы - __Maintainer__ (ведущий разработчик), то нужно получать уведомления о новых __Merge request__ (запросах на слияние).
|
|||
|
|