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

3 thoughts on “Commandes de Git pour travail en local

  1. Cela donne la liste des URL pour le depot distant ainsi que la liste des branches distantes suivies. Cette commande vous informe que si vous etes sur la branche

Comments are closed.