diff --git a/docs/tuto-gitea.md b/docs/tuto-gitea.md index 8f528f2..cbb7ed7 100644 --- a/docs/tuto-gitea.md +++ b/docs/tuto-gitea.md @@ -307,7 +307,184 @@ SKILLS_REPO=/chemin/local bash install.sh --- -## 8. Commandes git essentielles +## 8. Workflow git pas à pas — pour débutant + +### Le cycle de travail en 4 étapes + +``` +Modifier des fichiers + ↓ + git add ← "je veux inclure ces fichiers dans mon enregistrement" + ↓ + git commit ← "j'enregistre une version avec un message" + ↓ + git push ← "j'envoie mon travail vers Gitea" +``` + +Et dans l'autre sens : + +``` + git pull ← "je récupère les modifications de Gitea vers ma machine" + ↓ +Modifier des fichiers + ↓ + ... +``` + +--- + +### Étape 0 — Vérifier où on en est (toujours commencer par là) + +```bash +git status +``` + +Ce que ça dit : +- **"nothing to commit"** → tout est propre, rien à faire +- **"Changes not staged"** → tu as modifié des fichiers mais pas encore fait `git add` +- **"Changes to be committed"** → tu as fait `git add`, prêt pour `git commit` +- **"Your branch is ahead of origin"** → tu as des commits locaux à `push` + +> 💡 **Règle d'or :** lance `git status` avant de faire quoi que ce soit. C'est ton tableau de bord. + +--- + +### Étape 1 — `git add` — Préparer les fichiers à enregistrer + +`git add` ne sauvegarde rien encore. Il dit juste à git : *"ces fichiers feront partie de mon prochain enregistrement"*. + +```bash +# Ajouter un fichier précis +git add skills/dev/debugging/claude-code.md + +# Ajouter tous les fichiers modifiés d'un dossier +git add skills/dev/debugging/ + +# Ajouter tous les fichiers modifiés du projet (à utiliser avec précaution) +git add . +``` + +Après un `git add`, refais `git status` pour voir ce qui est "en attente de commit" (en vert). + +--- + +### Étape 2 — `git commit` — Enregistrer une version + +`git commit` crée un point de sauvegarde local avec un message qui explique **ce que tu as fait et pourquoi**. + +```bash +git commit -m "feat: ajout skill debugging pour claude-code" +``` + +> 💡 Un bon message de commit répond à la question : *"Si je lis ça dans 6 mois, je comprends ce qui a changé ?"* + +**Conventions de messages (optionnel mais utile) :** + +| Préfixe | Usage | +|---------|-------| +| `feat:` | Nouveau skill, nouvelle fonctionnalité | +| `fix:` | Correction d'une erreur | +| `docs:` | Modification de documentation | +| `chore:` | Maintenance, nettoyage | + +À ce stade, ton travail est **sauvegardé localement** mais **pas encore sur Gitea**. + +--- + +### Étape 3 — `git push` — Envoyer vers Gitea + +`git push` envoie tes commits locaux vers ton dépôt Gitea. C'est à ce moment que les autres (ou toi depuis une autre machine) peuvent voir ton travail. + +```bash +# Premier push sur une nouvelle branche +git push -u origin main + +# Tous les push suivants (plus court) +git push +``` + +Si ça demande un mot de passe → tu utilises HTTPS. Passe en SSH (voir section 3) pour ne plus jamais avoir à saisir de mot de passe. + +--- + +### Étape 4 — `git pull` — Récupérer les modifications de Gitea + +`git pull` télécharge les modifications faites sur Gitea (par toi depuis une autre machine, ou par quelqu'un d'autre) et les intègre à ta copie locale. + +```bash +git pull +``` + +> 💡 **Bonne habitude :** fais toujours `git pull` avant de commencer à travailler, pour être sûr d'avoir la version la plus récente. + +--- + +### Exemple complet — Ajouter un skill et le pousser + +```bash +# 1. Récupérer les dernières modifications de Gitea +git pull + +# 2. Vérifier l'état du dépôt +git status + +# 3. Créer ton nouveau skill +cp templates/claude-code.md skills/jardinage/arrosage/claude-code.md +# Éditer le fichier avec ton éditeur... + +# 4. Vérifier ce qui a changé +git status +# → "Untracked files: skills/jardinage/arrosage/claude-code.md" + +# 5. Préparer le fichier pour l'enregistrement +git add skills/jardinage/arrosage/claude-code.md + +# 6. Vérifier (optionnel mais recommandé) +git status +# → "Changes to be committed: new file: skills/jardinage/..." + +# 7. Enregistrer la version avec un message +git commit -m "feat: ajout skill arrosage pour jardinage" + +# 8. Envoyer vers Gitea +git push +``` + +Résultat : ton skill est visible sur `https://gitea.maison43.duckdns.org/gilles/mes_skills` + +--- + +### Voir l'historique de tes commits + +```bash +# Compact (une ligne par commit) +git log --oneline -10 + +# Avec dates et auteur +git log --oneline --graph -10 +``` + +--- + +### Annuler des erreurs courantes + +```bash +# J'ai fait git add par erreur sur un fichier → l'enlever de la sélection +git restore --staged fichier.md + +# J'ai modifié un fichier et je veux revenir à la version du dernier commit +git restore fichier.md + +# Je veux voir ce que j'ai modifié avant de committer +git diff + +# Je veux voir ce qui est dans le "add" (staged) +git diff --staged +``` + +--- + +## 9. Commandes git essentielles ```bash # Statut du dépôt @@ -320,7 +497,7 @@ git log --oneline -10 git diff # Annuler les modifications d'un fichier (non commité) -git checkout -- fichier.md +git restore fichier.md # Créer une branche git checkout -b ma-branche