Skip to main content

Правила работы 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
*.kicad_prl
*.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
*.log
*.ini

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 (запросах на слияние).