Les 10 commandes Git à connaître #1

Git
Développement web

Vous apprendrez comment initialiser un dépôt, ajouter des fichiers, commit des modifications, gérer les branches, collaborer et utiliser les utilitaires Git.

Les 10 commandes Git à connaître #1

Sommaire

Introduction

Dans cet article, je vais vous présenter les 10 commandes Git à connaître pour bien maîtriser cet outil de gestion de version. Vous apprendrez comment initialiser un dépôt, ajouter des fichiers, commit des modifications, gérer les branches, collaborer et utiliser les utilitaires Git.

Les bases de Git

Initialiser un dépôt Git

Pour commencer, il faut initialiser un dépôt Git dans votre projet. Pour ce faire, ouvrez un terminal et placez-vous à la racine de votre projet. Ensuite, tapez la commande suivante :

git init

Ajouter des fichiers

Lorsque vous créez ou modifiez des fichiers dans votre projet, il est nécessaire de les ajouter à l’index de Git pour qu’ils soient suivis. Utilisez la commande suivante pour ajouter tous les fichiers modifiés :

git add .

Vous pouvez également ajouter des fichiers individuels en indiquant leur nom :

git add file_name

Faire un commit des modifications

Après avoir ajouté les fichiers à l’index, il est temps de valider vos modifications. Pour cela, utilisez la commande suivante :

git commit -m "Commit message"

Assurez-vous d’utiliser un message de commit clair et concis pour décrire les modifications apportées.

Gestion des branches

Créer une branche

Les branches sont utilisées pour développer des fonctionnalités ou corriger des bugs en parallèle sans affecter la branche principale. Pour créer une nouvelle branche, utilisez la commande suivante :

git checkout -b new_feature_branch

Changer de branche

Pour basculer entre les différentes branches de votre dépôt, utilisez la commande suivante :

git checkout new_feature_branch

Fusionner des branches

Une fois que vous avez terminé de développer une fonctionnalité ou corrigé un bug sur une branche, il est temps de fusionner les modifications avec la branche principale. Pour ce faire, suivez ces étapes :

Assurez-vous d’être sur la branche principale :

git checkout main

Fusionnez la branche avec les modifications :

git merge new_feature_branch

Bien évidemment, si vous êtes sur Github, Gitlab ou un autre système de versioning, vous pouvez créer un pull request, qui sera revu par votre équipe, permettant de valider le développement réalisé.

Collaboration et synchronisation

Cloner un dépôt

Pour travailler sur un projet en collaboration avec d’autres personnes, vous devez d’abord cloner le dépôt sur votre machine locale. Utilisez la commande suivante pour cloner un dépôt :

git clone <repo_url>
# exemple: git clone https://github.com/bradtraversy/design-resources-for-developers.git
# exemple 2: git clone git@github.com:bradtraversy/design-resources-for-developers.git

Télécharger les modifications

Pour récupérer les dernières modifications effectuées par d’autres membres de l’équipe, utilisez la commande suivante :

git pull

Bonus #1: pour récupérer les dernières modifications sur les branches distantes, utilisez la commande:

git fetch

Envoyer des modifications

Après avoir commité vos modifications, il est temps de les envoyer sur le dépôt distant. Pour ce faire, utilisez la commande suivante :

git push

Utilitaires Git

Visualiser l’historique des commits

Pour afficher l’historique des commits de votre dépôt, utilisez la commande suivante :

git log

Vous pouvez également utiliser des options pour personnaliser l’affichage de l’historique, comme :

git log --oneline --graph

Annuler des modifications

Si vous avez besoin d’annuler des modifications avant de les commit, vous pouvez utiliser la commande suivante :

git restore file_to_restore

Bonus #2: Il est également possible de partir d’une version différente du fichier depuis une branche différente:

git checkout <another-branch> file_to_restore
# exemple: git checkout main package.json
# exemple 2: git checkout feature_branch .env.dist

Pour annuler un commit, utilisez la commande git revert:

git revert commit_hash
# exemple: git revert 8d7c9f9
# Pour retrouver l'identifiant du commit, voir la section "Visualiser l'historique des commits"

N’hésitez pas à consulter la documentation officielle de Git pour approfondir vos connaissances et découvrir d’autres commandes utiles.

Voir aussi l’article sur: L’introduction au Git Flow

FAQ

Qu’est-ce que Git ?

Git est un système de gestion de version décentralisé qui permet de suivre les modifications apportées à un ensemble de fichiers au fil du temps. Il est très utilisé dans le développement logiciel pour gérer le code source.

Quelle est la différence entre Git et GitHub ?

Git est un système de gestion de version, tandis que GitHub est une plateforme en ligne qui facilite la collaboration entre développeurs en utilisant Git pour la gestion des versions.

Comment puis-je annuler un commit déjà envoyé sur le dépôt distant ?

Pour annuler un commit déjà envoyé, vous pouvez utiliser la commande git revert pour créer un nouveau commit qui annule les modifications apportées par le commit précédent. Ensuite, envoyez ce nouveau commit avec git push.

Comment résoudre les conflits lors de la fusion de branches ?

Lorsque Git ne peut pas fusionner automatiquement les modifications, il génère des conflits qu’il faut résoudre manuellement. Ouvrez les fichiers concernés et recherchez les marqueurs de conflit (<<<<<<<, =======, et >>>>>>>). Modifiez les fichiers pour conserver les modifications souhaitées, puis ajoutez les fichiers à l’index et effectuez un nouveau commit.

Comment collaborer avec d’autres développeurs sur un projet Git ?

Pour collaborer sur un projet Git, vous pouvez utiliser des plateformes en ligne comme GitHub, GitLab ou Bitbucket. Ces plateformes offrent des fonctionnalités pour gérer les dépôts Git, suivre les modifications, discuter des problèmes et des améliorations, et travailler sur des fonctionnalités ou corrections de bugs en parallèle à l’aide de branches.

Travaillons ensemble

Vous cherchez un développeur freelance pour créer un site web ou une application sous Symfony, Vue.js ?