GIT - система розробки кода
https://www.atlassian.com/git/tutorials/source-code-management - один з кращих туторіалів ~30хв
Технології
- Gitlab - проиватний git Server проекти + cicd/pipeline + docker registry - https://git.softpro.ua
- Git - клієнт і технологія розробки
- GitHub - git server публічних проектів
Робота з git
- Console https://about.gitlab.com/images/press/git-cheat-sheet.pdf
- Visual Studio Code https://www.digitalocean.com/community/tutorials/how-to-use-git-integration-in-visual-studio-code
- Git Lense https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens
Основні поняття
Git WorkFlow
- робочий процес gitBranch
- гілка, інструмент забезпечення робочого процесуMerge Request
- перенесення коду з одної гілки в іншуCommit
- перенесення локальних змін в гілкуHash
- унікальний код комітуTag
- версія коду визначається main/masterPipeline
- процес автоматичного запуску команд git server ом після змін в git репозиторіїCode Review
- аналіз коду
Git WorkFlows
- https://www.atlassian.com/git/tutorials/using-branches - робота з гілками branch
- https://www.atlassian.com/git/tutorials/comparing-workflows - порівняння workflow
Основні варіанти розробки
- Centralized Workflow - dev,main, test -
- Feature Branch Workflow - розподіл по блокам або користувачам
- Gitflow Workflow - функція, фікси, задачі - окрема гілка
- Forking Workflow* - для розподіленої роозробки в OpenSource проектах
Може бути гібридний підхід, мікс, залежить від складності проекту
regular branch:
- dev
- main/master
- test
temp branch:
Jira Task Key
- Softpro-1455 - Назва повторює ключ задачіreason__details--tag
- feat__group_access_table фомрула назви гілки,
Fix / Hot-fix / Patch
- fix_ - фікс багівFeature Branches
- feat_ - нові функціїRefactor / Delete
- refactor_ - оптимізація, вилучення коду
Base Rules
- Starting branch name with a category word. ...
- Using unique issue tracker IDs in branch names. ...
- Using hyphen or slash separators. ...
- Using author name in Git branch. ...
- Avoid using just numerals. ...
- Avoid simultaneous naming convention. ...
- Avoid long names.
Розробка на локлаьному компьютері
- скачуємо проект гілка dev
- налаштовуємо конфіг файл
npm i
- встановлення необхідних пакетівnpm start
- запуск сервера- в разі потреби створюємо окрему гілку
- оновлюємо тести
- оновлюємо документацію route.yml - API
- оновлюємо документацію jsdoc - code
- оновлюємо документацію storybook - VUE
- пушимо зміни
Code Review
https://kinsta.com/blog/code-review-tools/ - 12 Best Code Review Tools
Корисні посилання
- https://onedev.net/post/173 - GIT F.A.Q
- https://dou.ua/forums/topic/33455/ - Git на практиці
- https://vc.ru/dev/217955-osnovy-raboty-s-git - основи работи
- https://tproger.ru/translations/git-style-guide/ - розробка з GIT
- https://tproger.ru/tag/git/page/2/ - різні статі
- https://tproger.ru/translations/git-aliases/ - alias