__ ___ _ _ _ ____ / / ___ / _ \__ _ _ _ ___ __| |_ _ | || ||___ \ / / / _ \ / /_)/ _` | | | / __| / _` | | | | | || |_ __) | / /__| __/ / ___/ (_| | |_| \__ \ | (_| | |_| | |__ _/ __/ \____/\___| \/ \__,_|\__, |___/ \__,_|\__,_| |_||_____| |___/
$> ls -l
-rwrw-rw- 1 db0 db0 62.1 Ko 2015-03-30 19:37 Impatient C
-rwrw-rw- 1 db0 db0 3.5 Ko 2015-03-30 19:37 Impatient SCM
-rwrw-rw- 1 db0 db0 3.0 Ko 2015-03-30 19:37 Impatient Emacs
-rwrw-rw- 1 db0 db0 2.4 Ko 2015-03-30 19:37 Impatient Man Pages
-rwrw-rw- 1 db0 db0 10.5 Ko 2015-03-30 19:37 Impatient Perl
-rwrw-rw- 1 db0 db0 17.3 Ko 2015-03-30 19:37 Impatient Python
-rwrw-rw- 1 db0 db0 13.6 Ko 2015-03-30 19:37 Impatient Shell Debutant
-rwrw-rw- 1 db0 db0 16.4 Ko 2015-03-30 19:37 Impatient Shell Script
-rwrw-rw- 1 db0 db0 3.4 Ko 2015-03-30 19:37 Impatient Shell
-rwrw-rw- 1 db0 db0 1.8 Ko 2015-03-30 19:37 Impatient Vim
Impatient SCM (Gestionnaire de versions)
Fonctionnement d'un SCM
Un SCM (ou gestionnaire de versions) permet à des développeurs de travailler en même temps sur un même projet. Il permet également d'avoir un historique de toute les versions du projets.Un projet est crée sur un serveur.
Les utilisateurs récupèrent une copie de ce projet.
Chacun travaillent sur sa partie du projet.
Au fur à mesure de l'avancement de leurs travails, les utilisateurs envoient leurs modifications au serveur (on appellent ça "commit").
Les autres utilisateurs peuvent alors mettre à jour le projet qu'ils modifient localement avec les modifications de l'autre utilisateur.
Les SCM les plus utilisés
Il existe plusieurs SCM : Pour cet impatient, on ne présentera que Git et Subversion (SVN).Commandes de base Git et Subversion (SVN)
Français | Subversion (SVN) | Git |
---|---|---|
Récuperer pour la première fois la dernière version du projet en local | svn checkout [url] | git clone [url] |
Mettre à jour le projet avec la dernière version sur le serveur | svn update | git pull |
Voir quels fichiers ont été modifiés ou ajoutés par rapport à la derniè version du serveur | svn status | git status |
Ajouter un nouveau fichier au projet (= préparation au commit) | svn add [filename ...] | git add [filename ...] |
Ajouter un fichier modifié au projet (= préparation au commit) | Rien à faire | git add [filename ...] |
Supprimer un fichier du projet (= préparation au commit) | svn delete [filename ...] | git rm [filename ...] |
Renommer/Déplacer un fichier (= préparation au commit) | svn move [filename ...] | git mv [filename ...] |
Commit (= envoyer les modifications demandées au serveur) | svn commit -m "message de commit" | git commit -m "message de commit" git push |
Voir la liste des commits et les messages | svn log | git log |
Afficher l'aide | svn help | git help |
Voir la différence entre le fichier modifié et le fichier sur le serveur | svn diff [filename] | git diff [filename] |
Commentaires | Ajouter un commentaire