Partager cet article

Comme plus de 50 000 freelances, recevez des offres de mission tech à la messure de votre talent sur FreelanceRepublik.

Je m'inscris  ➔

Trouver des Freelances

Comme plus de 50 000 freelances, recevez des offres de mission tech à la messure de votre talent sur FreelanceRepublik.

En savoir +  ➔

Derniers articles

FreelanceRepublik

+100 missions tech
par semaine

Je m'inscris  ➔

A la recherche d'un freelance ?

Déposez gratuitement votre projet tech sur FreelanceRepublik

En savoir +  ➔
AccueilMarché de la techWebGit : toutes les commandes indispensables aux développeurs

Git : toutes les commandes indispensables aux développeurs

Si aujourd’hui tout le monde connait Git et GitHub, on ne connait pas forcément toutes les commandes de ce logiciel de gestion de versions. L’utilisation qu’un développeur freelance en fait est souvent basique, on a parfois pourtant besoin d’aller plus loin, et de faire des actions un peu plus complexes.

Dans cet article, nous allons revenir sur Git, son origine, avant de plonger dans son coeur et de voir toutes les commandes les plus importantes de cet outil.

Introduction à Git

Revenons un peu sur Git et son origine.

Git est un logiciel de gestion de versions décentralisé. Ce logiciel libre a été créé par Linus Torvalds (oui, le fondateur de Linux) et sa première version a été livrée en 2005.

C’est aujourd’hui l’outil de gestion de versions le plus populaire au monde.

Le fonctionnement de git

Graphique expliquant la façon dont Git et ses commandes fonctionnent

Comme le montre le schéma juste au dessus, Git s’organise sur plusieurs niveaux. Pour faire simple, on peut découper ce fonctionnement en deux niveaux : du code stocké en local, sur votre machine, et en remote, sur un serveur.

On transfert du code entre ces différents niveaux (et sous-niveaux) via des commandes, celles qu’on expliquera par la suite.

S’il est possible d’utiliser ces commandes directement via un terminal, on peut aussi utiliser Git via un client qui fournit une interface, le plus connu étant GitKraken.

Et, évidemment, Git ne s’utilise que rarement seul, on l’accompagnera généralement d’un site d’hébergement (ou forge). Les plus connus étant GitHub et GitLab.

Pour en savoir plus sur GitLab, nous avons un article dédié à cette forge logicielle !

Git vs GitHub : les différences

On vient de le dire à l’instant, mais il est bon de faire un point sur la différence entre Git et GitHub. Ces termes sont parfois mélangés ou peu clairs pour des développeurs juniors.

Git est le logiciel de gestion de versions de votre code source.

GitHub est la plateforme cloud qui stocke vos dépôts de code, et qui facilite notamment le travail d’équipe sur un même projet.

Les commandes Git

Schéma représentant Git et ses différentes branches au cours d'un projet

Maintenant que l’introduction à Git et GitHub est terminée, il est temps de passer au coeur de cet article : les commandes essentielles de Git à connaitre.

Le guide des tech leader 2.0 !
Une étude menée au travers de consultations des membres de la communauté Tech.Rocks, d'interviews de Tech Leaders ainsi que le point de vue des experts de la tech !

L’installation

Mais d’abord, pour utiliser Git, il faut déjà l’avoir installé. Pour ça, il suffit simplement de le télécharger sur le site officiel, en fonction de l’OS que vous utilisez (Windows, MacOS ou Linux), puis de l’installer.

La configuration

Une fois Git installé sur votre machine, il faut le configurer ! Pour ça, utilisez les commandes suivantes :

# Votre pseudonyme
git config --global user.name [pseudo]

# Votre adresse email
git config --global user.email [pseudo@email.fr]

La création d’un projet

La configuration est terminée ? Parfait ! Il est temps de créer un projet ! Pour en créer un de zéro, on a besoin d’une seule commande, une fois dans le dossier dans lequel vous voulez que le projet se trouve :

# Initialisation d'un projet git
git init [nom-du-projet]

La récupération d’un projet

On peut aussi, à la place de créer un projet, en récupérer un déjà existant sur lequel on va venir travailler. Dans ce cas-là, le mot-clé est différent :

# Récupération d'un dépôt existant
git clone [url]

Les commits et push

Une fois votre projet instancié, il est temps d’envoyer vos modifications sur le serveur, via, notamment, les commandes commit et push. Explications :

# On ajoute les fichiers modifiés - pour envoyer tous les fichiers, utiliser la commande "git add ."
git add [nom-des-fichiers]

# On commit les modifications dans le repo en local
git commit -m "description du commit"

# Si on fait le tout premier commit, on doit utiliser la commande suivante :
git remote add origin [url-du-repo]

# On pousse ensuite les modifications sur le serveur distant. Le code entre crochets n'est à utiliser que lors du tout premier commit
git push [-u origin master]

Parfois, on peut vouloir annuler les modifications sur certains fichiers avant de faire un add. C’est-à-dire, les faire revenir à l’état dans lequel ils étaient au dernier commit. Cela se fait via la commande :

git checkout [nom-du-fichier]

Vous avez fait un commit en ayant oublié des fichiers ? Ou ajouté trop de fichiers ? Pas de panique, il existe des commandes pour ça ! Les voici :

# Revenir au précédent commit
git reset HEAD^

# Revenir au précédent commit et annuler tous les changements dans tous les fichiers
# ATTENTION, cela supprimera TOUTES les modifications de vos fichiers
git reset --hard HEAD^

Récupérer les modifications distantes

Vous travaillez en équipe, et un autre développeur a commit et push des modifications sur le serveur ? Pour les récupérer, cela se fait avec la commande suivante :

git pull

Attention, il se peut que lors d’un pull, il y ait des conflits. C’est-à-dire, il se peut que vous et un autre développeur aient travaillé sur les mêmes fichiers.

Pour éviter d’écraser vos modifications, s’ils concernent les mêmes lignes de code, Git vous demandera de faire les modifications adéquates dans lesdits fichiers (en gros, de choisir le code voulu), pour corriger les conflits.

La gestion des branches

Nous n’en avons pas encore parlé, mais la gestion du code via Git s’articule autour de branches. Il faut voir Git comme un arbre, dont le tronc est le code de base, celui que vous avez quand vous initialisez le projet. Le tronc peut se séparer en branches, qui contiennent du code différent, et qu’on peut ensuite fusionner (faire un merge) vers une autre branche, ou vers la branche principale – le tronc.

On utilise les branches par exemple si on veut corriger un bug tout en gardant de côté le code fonctionnel. Ou, également, développer une nouvelle fonctionnalité tout en ayant de côté, de même, une version fonctionnelle du code.

Voici les commandes à utiliser pour la gestion des branches :

# Lister les branches existantes
git branch -a

# Pour créer une nouvelle branche
git branch [nom-de-la-nouvelle-branche]

# Changer de branche
git branch switch [nom-de-la-branche]

# Supprimer une branche locale
git branch -d [nom-de-la-branche]

# Supprimer une branche sur le repo distant
git push origin --delete [nom-de-la-branche]

Les merges

Enfin, si vous voulez ramener toutes les modifications d’une branche Y vers une branche X (par exemple si un bug est corrigé est que vous voulez reporter sa correction sur la branche principale), on utilisera les commandes :

# On se met sur la branche sur laquelle on veut récupérer le contenu de la branche avec les modifications. Exemple ici avec la branche master
git switch master

# On merge les branches
git merge [branche-avec-modifs]

# On push les changements reportés sur master sur le dépôt distant
git push origin master

Nous n’avons pas ici traité toutes les commandes, seulement les principales. Pour avoir une liste plus complètes, rendez-vous sur la documentation officielle de git.

Git : ce qui est bon à savoir

On en a fini avec les commandes principales de Git ! Mais nous avons encore des choses à dire. Déjà, nous avons parlé de Git et GitHub, mais pas de faire la connexion entre les deux.

Lier Git et GitHub

Pour lier Git et GitHub, il faut que la plateforme cloud reconnaisse votre machine comme apte à communiquer avec elle. C’est-à-dire, il faut autoriser votre ordinateur et votre compte Git à faire des push.

Pour cela, il faut générer une clé SSH et l’ajouter à votre compte GitHub.

Comme ces commandes dépendant de votre système d’exploitation, on ne va pas les détailler ici. Vous pouvez les retrouver dans la documentation de GitHub.

Le fichier README.md

Souvent, et surtout lorsqu’il s’agit du tout premier commit, on envoie sur la plateforme cloud de gestion Git un fichier README.md. Il s’agit d’un fichier qui contient toutes les informations de votre projet que vous voulez rendre visible sur sa page GitHub.

Il peut s’agir d’une simple description du projet, comme des consignes de son installation ou de sa roadmap.

Pour en savoir plus sur ce fichier et sa syntaxe particulière, reportez-vous à la documentation officielle.

Le fichier .gitignore

Vous avez des fichiers locaux que vous ne voulez pas pousser via vos commits ? Comme, par exemple, des fichiers que vous voulez garder cachés (avec des variables d’environnement) ou volumineux (comme les modules node) ? Il existe pour ça un fichier à placer à la racine de votre projet git : le .gitignore.

Vous pouvez le créer via le terminal et la commande suivante

touch .gitignore

Ensuite, dans ce fichier, il suffit d’écrire tous les chemins vers les fichiers ou dossiers que vous voulez omettre lors des commits, chemins à partir de la racine de votre projet. Ils ne seront pas pris en comptes lors des commits.

Vous créer un portfolio avec le readme GitHub

Saviez-vous qu’il était possible de vous créer un véritable portfolio à partir du fichier readme de GitHub ? Pratique pour se mettre en avant !

Nous avons écrit un article complet pour vous expliquer comment vous créer ce CV particulier.

Conclusion

On l’a vu, Git est un logiciel de gestion de versions très complet et très puissant. Cependant, ce n’est pas toujours simple de connaitre toutes les commandes utiles et leurs enchainements. On espère donc que cet article vous aura aidé et pourra vous servir de cheat sheet pour vos projets !

X

Vous avez des besoins
en recrutement IT ?

Prenez RDV  ➔

Ces articles peuvent vous intéresser

Découverte du système de grille (Grid CSS)

La mise en page responsive constitue aujourd’hui un impératif pour tout site web qui se respecte. Pourtant, nombre de...

Les données structurées : Qu’est-ce que c’est ?

De nombreux propriétaires de sites web ne saisissent pas entièrement la définition des données structurées ni leur rôle concret...

Flexbox en CSS : des possibilités design sans limites !

Les possibilités de mise en page sur le Web semblaient jusqu'alors limitées. Coincés entre des layouts figés ou le...

Ne perdez plus de temps à prospecter en vain. Inscrivez-vous gratuitement sur FreelanceRepublik, et recevez de belles offres de missions tech. FreelanceRepublik est gratuit pour les freelances.

Je m'inscris  ➔