Git – Installation et commandes

par

dans

Installer Git

Installer Git sur Windows

Téléchargez l’installeur .exe depuis le site officiel git-scm.com.

Lors de l’installation, un écran propose les 3 options suivantes :

  • Use Git from Git Bash only : Il ne sera possible d’utiliser Git en ligne de commande qu’à partir de Git Bash.
  • Use Git from the Windows Command Prompt : Cette option installe Git Bash (comme la 1ère) et modifie également la variable PATH de Windows pour permettre d’exécuter des commandes Git depuis l’invite de commande Windows et depuis PowerShell.
  • Use Git and optional Unix tools from the Windows Command Prompt : Cette option effectue le même traitement que la 2ème et ajoute également la possibilité d’exécuter certaines commandes UNIX dans Windows comme find et sort.

Un autre écran permet de configurer le comportement à appliquer pour les sauts de lignes. Ces caractères sont différents entre Windows et UNIX. La 1ère option est la plus intéressante car elle a pour but d’appliquer un reformatage automate avec des sauts de lignes au format Windows lors de la récupération des fichiers d’un dépôt, et un autre reformatage automatique vers des sauts de lignes au format UNIX lorsqu’on pousse des modifications de fichiers.

À la fin de l’installation, on peut ouvrir l’PowerShell et taper la commande git help pour vérifier que la documentation s’affiche et donc que Git est bien installé.

Installer Git sur MacOS

Téléchargez l’installeur .dmg depuis le site officiel git-scm.com, ouvrez-le puis ouvrez ensuite le fichier .pkg. Si un avertissement de sécurité apparait, vous pouvez forcer l’ouverture. C’est un avertissement de MacOS indiquant que le logiciel n’a pas été vérifié par Apple.

À la fin de l’installation, on peut ouvrir l’application Terminal et taper la commande git help pour vérifier que la documentation s’affiche et donc que Git est bien installé.

Installer Git sur Linux

Ouvrir un Terminal et exécutez la commande sudo apt-get install git.

À la fin de l’installation, toujours dans le Terminal, tapez la commande git help pour vérifier que la documentation s’affiche et donc que Git est bien installé.

Initialiser un nouveau dépôt / cloner un projet

Pour créer un nouveau dépôt, on se déplacer dans le répertoire du projet (qui donc déjà exister) et on initialise le dépôt dedans.

# Se déplacer dans le répertoire du projet
cd D:\Sites\mon_site

# Initialiser un dépôt Git
git init

Pour un récupérer un projet existant, on se positionne dans un répertoire et l’on effectue un clone du projet en indiquant le nom du répertoire de destination à créer.

# Se déplacer dans un répertoire parent
cd D:\Sites

# Cloner un dépôt distant en indiquant le nom du répertoire qui le contiendra
git clone username@host.tld:/path/to/repository mon_site

# Cloner un dépôt local
git clone /path/to/repository mon_site

# Se déplacer dans le répertoire du projet
cd mon_site\

Lorsque l’on clone un dépôt existant, on voudra certainement pousser ultérieurement des modifications dessus. Pour cela, il faudra indiquer le nom de ce dépôt. Pour connaitre ce nom, qui peut être origin ou upstream par exemple, on peut utiliser la commande git remote :

# Cloner un projet en indiquant le nom du répertoire qui le contiendra
git clone git@github.com:Pseudo/Projet.git mon_site

# Se déplacer dans le répertoire du projet
cd mon_site\

# Afficher le nom du dépôt
git remote

Gestion des branches

Créer une branche

# Se déplacer dans le répertoire du projet
cd D:\Sites\mon_site

# Se positionner sur la branche d'origine (ici, "main")
git checkout main

# Créer une branche à partir celle d'origine et indiquer le nom de la nouvelle branche
git branch feature/formulaire-contact

# Basculer sur la nouvelle branche
git checkout feature/formulaire-contact

# À partir de la branche principale, créer une nouvelle branche et basculer dessus directement
git checkout main
git chekout -b feature/formulaire-souscription

# La branche n'est pas disponible pour les collaborateurs tant qu'on ne l'envoie pas vers le dépôt distant
git push origin feature/formulaire-contact
git push origin feature/formulaire-souscription

Lister les branches existantes et supprimer une branche

# Se déplacer dans le répertoire du projet
cd D:\Sites\mon_site

# Lister les branches
git branch

# Supprimer une branche
# C'est impossible sur celle actuellement utilisée. On passe donc sur la branche principale d'abord.
git cehckout main

# Supprimer une branche locale
git branch -d feature/formulaire-contact

# Supprimer une branche distance
git push origin --delete feature/formulaire-contact

Fusionner une branche

# Se déplacer dans la branche cible
git checkout main

# Rapatrier une branche
git merge feature/formulaire-contact

# Basculer sur la nouvelle branche
git checkout feature/formulaire-contact

# On peut ajouter un tag
git tag 1.0

Gestion des fichiers

Le fichier .gitignore

Le fichier .gitignore permet d’établir une liste de fichiers qui ne doivent pas être versionnés et donc, ne doivent pas être inclus dans les commits. Il est possible d’utiliser des caractères spéciaux pour définir une syntaxe ciblant plusieurs fichiers.

Exemple d’un fichier .gitignore à positionner à la racine d’un projet :

Règle d’exclusionExplication de la règle d’exclusion
/vendorOn ne souhaite pas versionner les bibliothèques tierces intégrées au projet.
composer.pharOn ne souhaite pas versionner l’archive composer.phar.
composer.lockOn ne souhaite pas versionner le fichier composer.lock qui décrit notamment les versions installées de chaque bibliothèque tierce intégrée au projet.
.env*On ne souhaite pas versionner les fichiers contenant des valeurs propres à notre environnement de développement.
.ideaOn ne souhaite pas versionner le dossier de configuration du projet dans l’IDE PhpStorm.

Ajouter des fichiers

# Ajouter tous les nouveaux fichiers
git add .

# Ajouter un fichier / tous les fichiers
git add mon_fichier.html
git add *

# Faire un commit avec un message
git commit -m "Premier commit"

# Valider tous les commit, en indiquant le branche à pousser
git push origin feature/formulaire-contact

Récupérer les fichiers

# Actualiser le dépôt local
git pull