Files
git-cheatsheet-ita/docs/03-workflow-giornaliero-commit-push.md
T

3.1 KiB

Workflow ideale per lavorare su un task

1. Assicurarsi di essere aggiornati

Prima di iniziare a lavorare:

git fetch origin
git status

Se la tua branch locale è dietro rispetto a origin/<branch>:

git merge origin/<branch>
# oppure, se sai cosa fai:
# git pull

Esempio, se lavori su develop:

git checkout develop
git fetch origin
git merge origin/develop

Nota: git pull = git fetch + git merge (vedi file dedicato).


2. Creare (o spostarsi su) la branch di lavoro

In Meridiana, tipicamente:

  • branch lunga vita: main, develop
  • branch di feature: feature/<nome-breve>

Esempio nuova feature:

git checkout develop
git pull origin develop  # se preferisci pull qui
git checkout -b feature/nuovo-report

Ora sei su feature/nuovo-report e puoi lavorare.


3. Modificare i file e controllare lo stato

Dopo aver modificato il codice:

git status

Esempio:

On branch feature/nuovo-report
Changes not staged for commit:
  modified:   src/report.py

Untracked files:
  docs/spec-report.md

4. Aggiungere i file allo staging (git add)

Aggiungi solo i file che devono entrare nel commit:

git add src/report.py docs/spec-report.md

Per aggiungere tutte le modifiche tracciate e i nuovi file:

git add .
# oppure
git add -A

Controlla:

git status

Esempio:

Changes to be committed:
  modified:   src/report.py
  new file:   docs/spec-report.md

5. Creare un commit (git commit)

Usiamo messaggi brevi e descrittivi in inglese/italiano coerenti.

git commit -m "Aggiunge report mensile con nuovo layout"

Oppure, per messaggi multi-riga:

git commit
# si apre l'editor configurato

Struttura consigliata:

Breve descrizione al presente

- dettaglio 1
- dettaglio 2

6. Pubblicare la branch sul server (git push)

Per la prima volta su una branch nuova:

git push -u origin feature/nuovo-report

Il flag -u imposta il tracking: in futuro basterà:

git push

Esempio di output:

Counting objects: 7, done.
Delta compression using up to 8 threads.
...
To https://git.meridiana.it/progetto/repo.git
 * [new branch]      feature/nuovo-report -> feature/nuovo-report
Branch 'feature/nuovo-report' set up to track remote branch 'feature/nuovo-report' from 'origin'.

7. Creare la Merge Request / Pull Request

Dal sistema di gestione (nel nostro caso Gogs):

  1. Scegli come source branch: feature/nuovo-report
  2. Scegli come target branch: di solito develop
  3. Assegna revisori, descrivi cosa fa la feature
  4. Una volta approvata si fa il merge in develop

Riepilogo rapido workflow

# una volta che hai clonato il repo
git checkout develop
git pull origin develop

git checkout -b feature/nuovo-report

# ...modifichi file...
git status
git add file1 file2
git commit -m "Messaggio chiaro"

git push -u origin feature/nuovo-report
# poi apri la MR/PR da interfaccia web