La gestion du code source (« SCM » / « Source Code Management ») est utilisée pour suivre les modifications apportées à un référentiel de code source. Un « SCM » suit un historique des modifications apportées à une base de code et aide à résoudre les conflits lors de la fusion des mises à jour de plusieurs contributeurs. La notion de « SCM » est également synonyme de contrÎle de version.
git est actuellement lâoutil le plus utilisĂ© pour ce type de tache. Les notions derriĂšres la gestion de code source Ă©tant assez compliquĂ©e, git nâest pas un outil simple Ă apprĂ©hender.
Je vous propose les commandes de base pour vous permettre de faire le minimum avec cet outil.
Prérequis
Le client git est nĂ©cessaire, voir le billet đł Installation de git.
Configuration du client git
AprĂšs lâinstallation du client git, vous devez le configurer Ă minima avec :
git config --global user.email "email@domain.com"
git config --global user.name "Votre Nom"
NotĂ© que cette configuration est globale au sens de lâutilisateur du systĂšme et donc commune Ă tous les projets de lâutilisateur courant.
Création du projet
Le but de cet article nâĂ©tant pas de faire le tour de toutes les fonctionnalitĂ©s de lâoutil, on supposera que le projet existe dĂ©jĂ .
Par ailleurs, tous les serveurs git que je connais propose aujourdâhui dâinitialiser les dĂ©pĂŽts (gĂ©nĂ©ralement au moins avec un fichier README.md
) ce qui permet dâignorer lâinitialisation depuis le client.
RĂ©cupĂ©rer un projet (qui existe et qui nâest pas vide)
Cette opĂ©ration nâest Ă faire quâune seule fois par projet.
git clone "URL_HTTPS_DONNĂE_PAR_LE_SERVEUR_GIT"
Sur le serveur vous trouverez deux types dâURLs :
- Lâune au format
https
plus simple Ă utiliser mais moins sĂ©curisĂ©, - et lâautre au format
ssh
(si vous avez déjà une clé ssh configurer votre clée publique dans le serveur et prenez cette solution).
La différence entre ces deux solutions étant la maniÚre de vous authentifier auprÚs du serveur, dans ce billet nous utiliserons le mode https
pour ne pas avoir à parler de clé ssh.
Vous devrez donc utiliser quelque chose comme :
git clone https://git.domain.org/une_organisation/un_projet.git
Cela téléchargera le dépÎt associé dans le dossier un_projet
et vous positionnera dans la branche principale du projet (généralement nommée main ou master).
Vous pouvez maintenant modifier le projet avec les outils de votre choix.
Prise en compte de vos modifications
Vous allez effectuer une sĂ©rie de modifications sur 1 ou plusieurs fichiers, Ă priori on considĂšre que ce que vous allez mettre dans le dĂ©pĂŽt est fonctionnel, vos modifications doivent donc ĂȘtre consistantes.
Cela se fait en deux opérations :
-
Vous devez dire a git quelles modifications vous souhaitez quâil prenne en compte, cela se fait Ă lâaide de *git add âŠ
-
Et enfin lui dire que câest bon vous avez fini de lui donner la liste de modification et que lĂ il doit prendre une photo de la situation.
SĂ©lectionner les modifications Ă prendre en compte
(Cette opération peut se faire sans réseau)
Vous pouvez ĂȘtre amenĂ© Ă faire plusieurs fois cette opĂ©ration de suite.
Pour ajouter un nouveau fichier ou un prendre en compte une modification dâun fichier existant:
git add chemin/nom-fichier
Pour ajouter tous les fichiers ayant changé :
git add .
Prendre la photo des modifications
(Cette opération peut se faire sans réseau)
Pour ajouter vos modifications dans le dépÎt local, vous devez utiliser :
git commit -m "Un message utile !"
Vous aurez dâautres modifications Ă faire quâil faudra sĂ©lectionner (git add âŠ) et mettre sur la mĂȘme photo (on parle de « commit ») (git commit âŠ).
Et ainsi de suiteâŠ
Envoyer vers le serveur
(Cette opération nécessite un accÚs réseau)
Pour « pousser » vos modifications vers le serveur, afin de rendre votre travail visible aux autres personnes, utilisez :
git push
RĂ©cupĂ©rer version de quelquâun dâautres
Pour récupérer les modifications sur le serveur et les ajouter au graphe des modifications connues localement (mais cela ne les rend pas visibles) :
git fetch -v # (cette opération nécessite un accÚs réseau)
Rendre visibles les modifs sur les fichiers locaux (de votre branche courante)Â :
git pull
La commande pour savoir oĂč on en est :
git status
La commande permettant de voir ce que vous avez changé :
git diff
La commande permettant de voir lâhistoire du dĂ©pĂŽt :
git log
 Disclaimer
Ces commandes ne vous permettent pas dâutiliser git correctement, cela vous permet juste de lâutiliser Ă minima.
Il y a en particulier la notion de branche qui a Ă©tĂ© totalement ignorĂ©e ici et qui est pourtant fondamentale et un intĂ©rĂȘt majeur de lâoutil.
Liens
- Les billets sur:
኿