Ces outils sont payants, je souhaitais donc passer par un outil en GNU GPL. L'inconvénient, c'est qu'au premier abord, ils fonctionnent tous en ligne de commande, et étant habitué à des outils avec une représentation graphique, je n'étais pas près à m'y investir.
Dernièrement, j'ai vraiment eu le besoin de gérer des versions sur différentes plateformes et la copie de dossier par le réseau, cela va un temps !
Après une petite recherche, git semble être l'outil le plus en vogue en ce moment, et il existe des interfaces graphiques et de très bonnes pages web (que je cite à la fin). Je vais m'attarder sur l'installation sous Windows.
Donc première étape : l'installation
Pour git de base sous Windows, je vous conseille ce dossier là et de prendre "le Full Installer".
A l'installation, j'ai coché le fait d'inclure Git et les commandes Linux dans le PATH

Et le fait de garder l'encodage d'origine du fichier.

Les autres options restent en standard.
Ensuite, je vous conseille comme interface graphique Git Extensions. Pour que cela fonctionne, j'ai eu un peu de mal au début (il vous faut .NET de Microsoft d'installer en version 3.5 minimum) et j'avais installé une ancienne version (car une recherche sur Google de Git Extensions retourne en premier l'ancien lieu de stockage de cet outil sur Source Forge).
Normalement, cela doit vous donner ce résultat :

Et dans les Settings / Settings, vous devriez avoir tout en vert :

A partir de là, on peut enfin commencer à mettre notre code en "version control".
Deuxième étape : La création du projet
Contrairement à un Source Safe par exemple, Git ne fonctionne pas avec un serveur centralisé. C'est un gestion de source distribué. C'est à dire que tout le monde stocke sur sa machine l'historique du projet. Il faut savoir tout de même d'un dossier centralisé est nécessaire. Effectivement, il est difficile d'imaginer qu'une personne faisant une modif, que celle-ci se retrouve sur les autres personnes (ou machines).
Dans mon titre, je disais que j'allais travailler en local. Cela signifie avec un disque partagé accessible à diverses machines (donc local dans le sens réseau local). On va donc créer un nouveau projet (repository en language git) qui sera sur un disque partagé.
Pour cela avec Git Extensions, vous avez sur la page d'accueil un "Create new repository". Il suffit de cliquer dessus :

Et là, attention, vous avez deux choix (en plus du lieu de stockage) :
On va ici choisir "Central repository - Not a working dir".
Cette option fait que l'on va créer le projet ou l'on va centralisé les modifications.
Il suffit ensuite de cliquer sur "Initialize".
Le dossier central est maintenant créé (dans l'exemple qui suit, cela sera G:\Share\GitTest). Nous allons le laisser vide pour l'instant, on va maintenant faire la même opération mais pour un dossier de travail. Attention dans ce cas à choisir lors de la création "Personal repository".
A ce moment, le dossier demandé est créé et dedans se trouve un dossier ".git". C'est ce dossier qui contient l'historique du projet (toujours dans la suite de l'exemple, cela sera E:\Dev\GitWorking).
A la fin de cette étape, nous avons donc deux dossiers, un local pour notre base de travail, et un autre qui sera le point central de notre projet qui permettra à toutes les autres machines d'accéder aux dernières versions.
Troisième étape : L'ajout de code dans notre dossier de travail
Imaginons que l'on ajoute maintenant un fichier main.c dans notre dossier de travail (E:\Dev\GitWorking), qu'on le compile et que l'on valide cet exe. On souhaite maintenant mettre ce fichier en source control.
Il suffit alors de lancer Git Extensions, d'ouvrir le repository où l'on travaille (E:\Dev\GitWorking).
Vous devez avoir alors cet écran peu élégant :

La première chose à faire sera de cliquer sur le bouton "Edith .gitignore".
Cela permet de définir les fichiers qui ne doivent pas être pris en compte en source control. On va alors y mettre :
.*
*.o
*.exe
Le premier .* permet d'exclure le .gitignore mais à vous de voir si on ne peut pas en fin de compte le mettre en source control...
A partir de là, j'étais un peu perdu. Il n'y a pas de "Add to source control" ou de "Checkout". Git fonctionne différemment. On considère le dossier du projet comme étant totalement en autorisation de modification. Il faut en fait cliquer sur le bouton "Commit" pour que git analyse les modifications. Il va détecter les nouveaux dossiers / fichiers et les fichiers qui ont été modifiés.
Nous aurons alors dans notre exemple, le cas suivant :

Git trouve bien le fichier main.c, que celui ci est modifié (normal, vu qu'il est nouveau). Les modifications sont indiqués en haut à droite.
A ce moment, on va valider en local que l'on souhaite garder la modification (l'équivalent du checkin mais en local).
Il faut alors sélectionner le fichier, cliquer sur "Stage", mettre un commentaire dans "Commit message" et cliquer sur "Commit" :

Dans mon exemple, j'ai un message d'erreur mais je pense que c'est pour me dire qu'il n'y a pas encore de version initiale, mais cela ne semble pas poser de problème.

Voilà notre première version est labellisée... mais elle n'est accessible qu'en local, il est temps de la mettre dans notre dossier partagé pour que d'autres puissent l'avoir.
Quatrième étape : L'envoi de la version dans le dossier partagé
L'objectif ici est de mettre notre version dans le projet central.
La première étape est de définir le lieu où l'on souhaite mettre notre version (donc renseigner notre projet local E:\Dev\GitWorking que le projet central se trouve dans G:\Share\GitTest).
Pour cela, il faut cliquer sur "Remotes - Manage remote repositories".
Il faut le renseigner ainsi pour travailler en local et cliquer sur Save.

A la question "You have added a new remote repository. Do you want to automatically configure the default push and pull behavior for this remote", répondez "Yes".
Cela signifie que les opérations avec le dossier centralisé se feront toujours avec ce dossier de destination.
Ensuite, il suffit juste de faire un "Commands - Push" pour envoyer notre version dans le dossier central.

A la question concernant la création d'une branche, répondez "Oui". Le dossier central n'ayant pas encore de version, cela va créé le tronc (on verra une autre fois la notion de branche et tronc).
Et voilà, votre version est sur le dossier central.
Cinquième étape : L'accès à partir d'un autre machine
Vous pouvez maintenant accèder à votre version en créant un nouveau dossier de travail sur une autre machine (ou la même éventuellement) en ayant accès au dossier partagé (le G:\Share\GitTest est accessible chez moi en écriture/lecture pour tous).
Pour cela, lancer Git Extensions et cliquer sur "Clone a repository" sur la page d'accueil.

A la fin de cette opération, je peux aller voir sur ma nouvelle machine (dans ce screenshot, cela sera dans F:\GitTest), je vais retrouver mon fichier main.c et le dossier .git.
Imaginons maintenant que sur cette nouvelle machine, je modifie ce fichier main.c.
Il suffit que je refasse l'opération "Commit" pour afficher les modifications, le "Stage" pour sélectionner les modifications à garder, mettre un "Commit message", et cliquer sur "Commit" (voir Etape 3) et de faire le "Push" (voir Etape 4).
Sixième étape : Récupérer les dernières modifications
Pour résumer, sur la machine 1, j'ai ajouté le fichier, j'ai mis la modification dans le dossier central, sur la machine 2, j'ai créé un nouveau dossier en reprenant les modifications courantes, j'ai aussi modifié le fichier et remis dans le dossier central. Maintenant, comment sur la machine 1, dans mon dossier de travail je peux obtenir la dernière version : la réponse est simple : le pull.
Avant le pull :

Le pull :

Après le pull :

Et voilà, j'ai obtenu ma dernière version !
Bien sur, impossible de faire un Push sans avoir fait un Pull avant (ou tout du moins d'avoir la dernière version).
Pour faire une analogie grossière par rapport à un Clearcase ou Source Safe, je dirait que le "Commit" est un "checkin" local d'une version, le Push est le "checkin" sur le server, et le Pull est le "Get latest version".
Voici les deux sites que j'ai utilisé pour commencer avec git :
http://www.siteduzero.com/tutoriel-3-254198-gerez-vos-codes-source-avec-git.html
Et
http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide


