Si vous avez déjà collaboré sur un document avec des collègues, vous connaissez cette frustration : quelqu'un crée la première version (document.doc), l'envoie par e-mail. La suivante ajoute une révision (document_rev3.doc), la responsable finalise (document_final.doc)... jusqu'aux changements de dernière minute (document_final_Aaron's_changes_reviewed_by_Bob_now_really_final.doc).
Imaginez cela multiplié par des dizaines de fichiers de code source. Les développeurs ont inventé les systèmes de contrôle de version (VCS) pour résoudre ce chaos. Bien que techniques, ils sont accessibles aux utilisateurs avancés. Découvrez les bases avec Git, le leader actuel.
Les VCS capturent des versions ou révisions d'un fichier au fil du temps, évitant les méthodes primitives. Ouvrir "document.doc" affiche la dernière version par défaut, mais vous pouvez revenir à n'importe quelle précédente. Nés dans le développement logiciel, ils s'étendent désormais aux usages grand public.
Les VCS initiaux verrouillaient les fichiers pour éviter les conflits. Les systèmes de 2e génération (comme Subversion) géraient l'intégrité du projet via un dépôt central.
Les VCS de 3e génération, comme Git, sont distribués : chaque utilisateur possède une copie complète du dépôt (avec historique). Les modifications restent locales jusqu'au "push" vers un autre dépôt, permettant clonage et répétition.

Les utilisateurs standards bénéficient aussi de cette fonctionnalité grâce au stockage abordable local et cloud. Les OS capturent l'historique automatiquement ou planifié. Les apps de bureau comme LibreOffice proposent "Enregistrer une version". Les services cloud (Google Drive, ownCloud) conservent les itérations anciennes.


Malgré ces options, les outils comme Git surpassent les limites suivantes :

Si ces inconvénients vous agacent, Git offre la solution idéale. Suivons un exemple concret : cet article.
Nous utilisons la ligne de commande Git (universelle, facilitant les GUIs). Installez Git si absent : sur Linux sudo apt install git, Mac (préinstallé), Windows via site officiel.
Dans votre dossier projet : git init. Un dossier caché .git apparaît (activez "fichiers cachés").

Créez/modifiez fichiers. Vérifiez : git status.

Mettez en scène : git add -A .. Validez : git commit -m "Premier commit : initialisation du projet".

Voyez l'historique : git log --all --decorate --oneline --graph.

Créez/basculez : git checkout -b experiment1.

Modifiez, comparez branches. Supprimez si échec : git branch -D experiment1 (sur master : git checkout master).



Nouvelle branche réussie : git checkout -b experiment2 ; modifiez, git add . ; git commit -m "Ajout de texte et images".

Sur master : git checkout master ; git merge experiment2. Supprimez : git branch -d experiment2.

Créez dépôt bare distant : git init --bare. Ajoutez remote : git remote add central ssh://[username]@[URL]/path/to/repository ; git config push.default matching ; git push --set-upstream central master.

Processus simple :
git add .git commit -m "Message descriptif" (local).git push régulièrement.git clone ssh://[username]@[URL]/path/to/repository.Git vous séduit-il pour versioning et backup ? Ou préférez-vous les outils standards ? Commentez !