# Guide GitDoc - Autocommit Ce guide explique comment utiliser GitDoc pour l'autocommit automatique des fichiers. ## Qu'est-ce que GitDoc ? GitDoc est une extension VSCode qui committe automatiquement vos modifications dans git après un certain délai. **Extension:** `vsls-contrib.gitdoc` ## Limitation importante **GitDoc ne committe QUE les fichiers déjà suivis par git.** Cela signifie: - Les fichiers modifiés sont auto-committés - Les nouveaux fichiers (non suivis) ne sont PAS auto-committés Pour les nouveaux fichiers, vous devez d'abord les ajouter manuellement: ```bash git add nouveau_fichier.py ``` Après cela, GitDoc les committera automatiquement lors de modifications futures. ## Installation 1. Ouvrir VSCode 2. `Ctrl+Shift+X` pour ouvrir les extensions 3. Rechercher `GitDoc` 4. Installer `GitDoc` par `vsls-contrib` ## Configuration La configuration est dans `.vscode/settings.json`: ```json { "gitdoc.enabled": true, "gitdoc.autoCommitDelay": 30000, "gitdoc.commitMessageFormat": "docs: GitDoc update", "gitdoc.commitValidationLevel": "none", "gitdoc.autoPull": "off", "gitdoc.autoPush": "off" } ``` ### Paramètres expliqués | Paramètre | Valeur | Description | |-----------|--------|-------------| | `gitdoc.enabled` | `true` | Active GitDoc | | `gitdoc.autoCommitDelay` | `30000` | Délai avant commit (30 secondes) | | `gitdoc.commitMessageFormat` | `"docs: GitDoc update"` | Format du message de commit | | `gitdoc.commitValidationLevel` | `"none"` | Pas de validation (évite les blocages) | | `gitdoc.autoPull` | `"off"` | Pas de pull automatique | | `gitdoc.autoPush` | `"off"` | Pas de push automatique | ## Utilisation ### Activation/Désactivation GitDoc s'active automatiquement si `gitdoc.enabled: true`. Pour le désactiver temporairement: - `Ctrl+Shift+P` → `GitDoc: Disable` Pour le réactiver: - `Ctrl+Shift+P` → `GitDoc: Enable` ### Voir les commits GitDoc ```bash git log --oneline --grep="GitDoc" ``` ### Workflow recommandé 1. **Nouveaux fichiers** - Ajouter manuellement ```bash git add nouveau_fichier.py git commit -m "feat: Ajouter nouveau fichier" ``` 2. **Modifications de fichiers existants** - Automatique - GitDoc committe automatiquement après 30 secondes 3. **Squash des commits GitDoc** (avant PR) ```bash git rebase -i HEAD~10 # Remplacer 10 par le nombre de commits # Marquer les commits GitDoc comme "fixup" ou "squash" ``` ## Problèmes courants ### GitDoc ne fonctionne pas **Vérifications:** 1. **Extension installée?** ``` Ctrl+Shift+X → Rechercher "GitDoc" ``` 2. **Configuration présente?** ```bash cat .vscode/settings.json | grep gitdoc ``` 3. **Fichier déjà suivi par git?** ```bash git ls-files | grep mon_fichier ``` Si le fichier n'apparaît pas: ```bash git add mon_fichier ``` 4. **GitDoc activé?** - Regarder la barre de statut VSCode (en bas) - Devrait afficher "GitDoc" avec une icône ### Le fichier settings.json apparaît dans git status Si `.vscode/settings.json` apparaît dans `git status`: ```bash # Vérifier qu'il est dans .gitignore grep "settings.json" .gitignore # S'il n'y est pas, l'ajouter echo ".vscode/settings.json" >> .gitignore # Retirer du suivi git (garde le fichier local) git rm --cached .vscode/settings.json git commit -m "fix: Retirer settings.json du versioning" ``` ### Trop de commits GitDoc Si vous avez beaucoup de commits GitDoc, vous pouvez les squasher: ```bash # Rebase interactif sur les 20 derniers commits git rebase -i HEAD~20 # Dans l'éditeur, remplacer "pick" par "fixup" pour les commits GitDoc # Sauvegarder et quitter ``` ## Alternatives à GitDoc Si GitDoc ne convient pas, voici d'autres approches: ### 1. Commits manuels réguliers ```bash git add -A git commit -m "wip: Travail en cours" ``` ### 2. Script de commit automatique ```bash # Créer un script auto-commit.sh #!/bin/bash while true; do git add -A git commit -m "auto: $(date +'%Y-%m-%d %H:%M:%S')" sleep 300 # 5 minutes done ``` ### 3. Pre-commit hooks Voir: https://pre-commit.com/ ## Recommandations **À FAIRE:** - Activer GitDoc pour le travail collaboratif - Squasher les commits GitDoc avant une PR - Ajouter manuellement les nouveaux fichiers avec `git add` **À ÉVITER:** - Pusher directement les commits GitDoc - Compter sur GitDoc pour les nouveaux fichiers - Activer `autoPush` (risque de push non désiré) --- ## Voir aussi - [Guide Git](https://git-scm.com/doc) - [Extension GitDoc](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gitdoc)