Commandes de Git pour travail en local
Objectifs de l’article :
L’objectif de cet article est de présenter l’ensemble des commandes les plus utiles lorsque l’on code seul sur un projet.
Il s’agit ici de suivre son projet en local sans utilisation de repository online
Install : Vérifier que git est installé sur votre machine
Shell git
git --version which git
Install : Paramétrage par défaut
Shell git
git config --global user.name "votre nom" git config --global user.email "votre_nom_email@webdevpro.net"
Démarrage : Lancer le tracking du projet :
Shell git
cd path/projet_a_suivre git init # à utiliser uniquement la première fois, pour créer le repository
Démarrage : Ignorer des fichiers / dossiers
Shell git
cat > .gitignore *.(jpg|png|gif) #ignorer tous les fichiers images httpdocs/img/ #ignorer tous ce qui est contenu dans le dossier httpdocs/img/ httpdocs/*.txt # ignorer httpdocs/robots.txt, mais pas httpdocs/log/connexion.txt httpdocs/**/*.txt # ignorer tous les fichiers .txt sous le répertoire httpdocs/
Faire un Ctrl+C pour finir la saisie
Remarque : il n’est pas nécessaire de faire un git init pour que les directives inscrites dans le fichier soit prises en compte. Dès qu’il y a un ajout dans le fichier .gitignore, git le prend en compte.
Astuce sous Windows
Placer vous dans à la racine de votre projet et créer un fichier git.bat et y inscrire les lignes suivantes :
Fichier git.bat
@echo off "C:\Program Files\Git\git-bash.exe"
Ce petit script va permettre d’éviter de saisir le chemin du projet et de lancer le terminal git en thread
Le bash windows se fera lorsque vous fermerez le shell git
Pendant : Connaitre la situation en cours
Shell git
git status
Pendant : Faire un snapshot
Shell git
git add nom_fichier #ajouter un fichier git add -A #tout ajouter git add expression_wildcard
La commande git avec add permet de faire deux choses :
- ajouter un nouveau fichier / dossier qui vient d’être créer pour le traquer
- faire un snapshot des fichiers / dossiers modifiés
Pendant : Exemples d’expression avec wildcards pour git add
Shell git
git add * #tout ajouter dans le snapshot quelquesoit l'endroit où se situe le fichier / dossier git add *.php #tous les fichiers finissant par php de manière récursive git add httpdocs/ # tous les fichiers se trouvant dans le dossier httpdocs ainsi que les fichiers et dossiers créés ou modifiés dans les dossiers enfants de httpdocs git add *.(html|php|css|js|xml) # tous les fichiers finissant avec ces 5 extensions récursivement git add /index.html # ajouter le fichier index.html situé à la racine du projet
Pendant : Valider un snapshot
Shell git
git commit --message "texte" git commit -m "texte" #version raccourcie
Pendant : Créer une branche et s’y placer
Shell git
git branch nom_branch git checkout nom_branch
Pendant : Revenir sur la branche master et merger
Shell git
git checkout master git merge nom_branch
Quelques remarques :
- Il faut au préalable se placer sur la branche dans laquelle on souhaite réaliser la fusion, car git merge va fusionner la branche dans la branche courante.
- git merge crée un commit dans la branche
- il est vivement conseillé de valider toutes les modifications réalisées dans la branche via add puis commit avant de merger
Pendant : Supprimer les branches inutiles
Shell git
git branch -d nom_branch # supprimer la branche nom_branch git branch -D # supprimer toutes les branches hors master
Visualiser : Voir toutes les branches disponibles
Shell git
git branch
Visualiser : Comparer
Shell git
git diff # toutes les modifications depuis le dernier commit, appuyer sur Enter pour faire défiler et Ctrl + C pour sortir git diff file_name # un fichier modifié avec son dernier snapshot git diff master..nom_branch # deux branches
Visualiser : Lister l’ensemble des commit réalisés
Shell git
git log
Visualiser : Outil graphique permettant de visualiser les branches et diff
Shell git
gitk