2. Quel est le problème?
Historiser toutes les modifications apportées à du code
=> qui a fait quoi et quand (transparence)
Travailler sur plusieurs versions d’un même code
=> reproduire un bug d’une version en production pendant qu’on
travaille sur la suite (adaptation au changement)
Travailler à plusieurs sur le même code
=> sauvegardes, outils de fusion
3. Historique
CVS: 1990
=>centralisé, historique au niveau fichier
Subversion: 2000
=> centralisé, historique au niveau répértoire
Git: 2005
=> décentralisé, historique au niveau dépôt
4. Subversion
Système centralisé:
un client qui gère une copie “locale”
un serveur (dépôt) sur lequel le client:
met à jour une copie local (svn update)
enregistre des modifications (svn commit)
5. Git
Créer pour développer le noyau Linux
Système décentralisé:
=> on peut créer un dépôt en local
puis l’utiliser pour mettre à jour un dépôt distant
=> branches (versions différente de la même copie locale)
=> tags (étiquettes)
6. Commandes de base Git
Commande Signification
git init Met le répertoire sous contrôle de version
git clone Copie un dépôt distant
git add Ajoute un fichier à la prochaine version
git commit Crée une nouvelle version
git push Met à jour un dépôt distant
git pull Met à jour le dépôt local
7. GitHub
Le wikipedia du développement open-source.
Gestion des comptes utilisateurs
Protocôle HTTP pour identifier un dépôt
Gratuit pour les projets open-source:
git clone https://github.com/php/php-src.git