Un Task corrisponde a un branch.
Ogni Sviluppatore crea un nuovo ramo partendo dal ramo principale main, che sarà di tipo feat, bugfix, docs, refactor o chore. Ad esempio, feat/update-navbar-main
o bugfix/fix-footer-visibility-main
.
Un ramo può includere uno o più commit. I commit dovranno essere descritti brevemente, mantenendo una descrizione chiara e concisa del lavoro svolto.
Ogni commit quindi deve rispettare il formato seguente:
type(scope): short description
feat
Nuovi sviluppi/funzionalità/esercitazionibugfix
Correzione di un bugdocs
Modifica della documentazione/Creazione di file .MDchore
Modifica delle configurazioni o del gestore di pacchetti. Non modifica il codice in produzione.
exercise
helper
lesson
challenge
website
feat(exercise): aggiunta esercitazione sulle classi in HTML
Scopri di più sui Git Conventional Commits.
Al termine dello sviluppo, si apre una Pull Request rispetto al ramo main per la revisione, prima di procedere con il merge del branch mediante un processo di rebase commit.
In caso di conflitti durante la Pull Request è responsabilità dello Sviluppatore risolvere i conflitti facendo un rebase del proprio ramo rispetto al ramo principale main locale. Per effettuare il rebase, è necessario eseguire il comando git rebase main
mentre ci si trova sul ramo di interesse. Una volta risolti tutti i conflitti e completato il rebase, è necessario eseguire un push forzato con il comando git push --force
sullo stesso ramo.
Il mancato rispetto di questi standard comporta automaticamente un fallimento durante il processo di commit
In caso di richieste di modifiche durante la Pull Request, deve essere effettuato un commit di fixup indicando l'hash del commit di riferimento.
Esempio di fixup commit:
git commit --fixup 03cfcd8e1bad1f3ea50076d200fe0d13308a1ab8
Esempio di creazione di un branch:
git checkout -b feat/update-navbar-main main
Questo crea un branch per aggiornare la navbar partendo dal branch principale main
.
Esempio di creazione di un commit:
git commit -m "feat(website): aggiornata navbar per miglior accessibilità"
Questo commit descrive brevemente l'aggiornamento fatto alla navbar, seguendo il formato convenzionale.