7
Contrôle de version Le couteau-suisse du développeur moderne

Contrôle de version

Embed Size (px)

Citation preview

Page 1: Contrôle de version

Contrôle de version

Le couteau-suisse du développeur moderne

Page 2: Contrôle de version

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

Page 3: Contrôle de version

HistoriqueCVS: 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

Page 4: Contrôle de version

SubversionSystè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)

Page 5: Contrôle de version

GitCré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)

Page 6: Contrôle de version

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

Page 7: Contrôle de version

GitHubLe 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