Projekt

Obecné

Profil

Akce

Konvence


Iterace

  • Iterace budou na začátku projektu po jednom týdnu, jakmile se začne s implementací, prodlouží se na dva týdny
  • Iterace začínají a končí v pátek

Interní pravidla

  • Tým bude mít pravidelné schůzky v pondělí a pátek
  • Členové týmu vykazují hodiny každý den

Úkoly

Druh

  • Task - schůzky, dokumentace, správa wiki, analýza
  • Feature - implementace, testování
  • Bug - oprava chyb

Kategorie

  • Analýza - analýza projektu a návrh řešení
  • Dokumentace - správa dokumentů a wiki
  • Implementace - implementace řešení a oprava chyb
  • Schůzka - schůzka
  • Testování - testování

Stav

  • New - nově vytvořený, nepřiřazený úkol
  • Assigned - již přiřazený úkol
  • Resolved - úkol je hotový a připraven na kontrolu týmem/vedoucím týmu
  • Closed - úkol je zkontrolován a uzavřen

Jazyk

  • V češtině se bude psát veškerá dokumentace, wiki, komentáře
  • V angličtině pouze kód

Git

Celý Git bude v AJ, tedy všechny commit message, branch names, tag names, ...

Větve

  • hlavní větev je main
    • v ní se nikdy nepracuje
    • budou se jen mergovat všechny změny ve větvi dev na konci iterace
    • merge z dev do main budou otagované
  • hlavní vývojová větev je dev
    • sem se mergují změny z ostatních větví (opravy, nové funkcionality atd.)
  • větev pro opravy je fix
  • větev pro nové funkcionality je feat
  • každý úkol je ve vlastní větvi
  • nové větve vytvářet z dev větve a průběžně rebaseovat
    • git switch -c <branch-name> - vytvoření nové větve
    • git rebase dev - rebase na aktuální stav dev větve
  • větve se pojmenovávají ve formátu feat/<issue>-<name>
    • níže jsou příklady vytvoření nových feat a fix větví
    • git switch -c feat/12345-improve-user-form
    • git switch -c fix/12345-memory-leak
  • větve by neměly obsahovat znak # - kolize pro komentář
  • vytváření větve na remotu pomocí: git push -u origin <branch-name>
    • na GitLabu se objeví možnost vytvořit merge request
    • úkol dát do Draft fáze, assignovat sobě, assignovat reviewera a nastavit labely (Work in progress / Code review)

Commity

  • každý commit se vždy váže pouze na jednu issue (z principu, ale také kvůli logování času)
  • commity jsou v tomto formátu: git commit -m "re #<issue> <time> - <message>"@
    • re - důležité klíčové slovo pro linkování commitu s issue
    • <issue> - číslo issue
    • <time> - čas, který commit zabral
      • možné formáty zadávání času pro 1 hodinu a 15 minut
      • 1h15 nebo 1.25 nebo 1,25
    • <message> - krátký popis, co se v commitu dělalo
  • příklady commitů:
    • git commit -m "re #69420 @1h30 - removed comments"
    • git commit -m "re #42069 - refactor code - chybí log času, pak se musí udělat manuálně v Redmine
  • jak pullovat a pushovat:
    • git push - pushuje změny do větve kterou zrovna trackuji
    • git push -f - force push, používat pouze pro větev kde pracuju
    • git pull - updatuje změny větve

Aktualizováno uživatelem Duc Long Hoang před asi 1 rok · 12 revizí