commit efb76e464f77e2a10c15f0bd911641aa11c1241f Author: Giuseppe Rocco Date: Fri Dec 5 09:34:46 2025 +0100 Creato il file README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..ba96505 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ + + +# Git in Meridiana – Introduzione (per chi viene da Subversion) + +In Meridiana usiamo **Git** come sistema di versionamento distribuito. +Chi arriva da **Subversion (SVN)** deve tenere a mente alcune differenze chiave: + +- In Git hai **sempre una copia completa del repository in locale** +- Le modifiche passano da tre "stati": + 1. **Working directory** – i file sul tuo disco + 2. **Staging area (index)** – le modifiche pronte per il commit (`git add`) + 3. **Repository locale** – la storia ufficiale sul tuo PC (`git commit`) +- Il server remoto (es. GitHub/GitLab/Bitbucket) è solo un altro **remote** (di solito `origin`) + +### Mappa mentale SVN → Git + +- `svn checkout URL` → `git clone URL` +- `svn status` → `git status` +- `svn diff` → `git diff` +- `svn add file` → `git add file` +- `svn commit` → **NON** manda al server: in Git il `commit` è locale +- `svn update` → `git pull` (o meglio: `git fetch` + `git merge`) +- `svn commit` + sync → in Git è `git commit` + `git push` + +Nei file seguenti vedremo: + +1. Configurazione utente (`git config`) +2. Workflow base di lavoro (clone, commit, push) +3. Differenza tra `fetch`, `merge` e `pull` +4. Accenno al **Driessen branching model** (Git Flow) +