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
PATHde 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
findetsort.
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’exclusion | Explication de la règle d’exclusion |
|---|---|
| /vendor | On ne souhaite pas versionner les bibliothèques tierces intégrées au projet. |
| composer.phar | On ne souhaite pas versionner l’archive composer.phar. |
| composer.lock | On 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. |
| .idea | On 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