Installation
Travailler avec git
Logiciels
Source Tree
19 min
Ungit
09 min
Github Mac
08 min
GitKraken
13 min

Maintenant que nous savons comment installer git nous allons pouvoir entrer dans le vif du sujet.

config

Avant de commencer à faire quoi que ce soit il est important de configurer git. Par défaut la configuration est plutôt satisfaisante mais on va devoir configurer les informations nous concernant. Ces informations seront visible dans l'historique et permettront de savoir plus tard qui à fait quoi

# git config <option> <valeur>
git config --global user.name "Mon nom"
git config --global user.email "mon@email.fr"

Le drapeau --global permet d'indiquer à git que cette configuration est globale et affectera ainsi tous nos futurs projets.

init

La commande git init permet d'initialiser un nouveau dépôt git vide. Cela aura pour effet de créer un dossier .gitqui contiendra les informations sur notre versioning. Il ne sera pas possible de versionner sans ce dossier là.

cd "MON SUPER PROJET"
git init

status

Comme son nom l'indique cette commande permet d'obtenir un status sur l'état de notre versioning. Elle donne un rapide résumé des fichiers qui sont en staging et des fichiers non suivis.

git status

N'hésitez pas à abuser de cette commande pour savoir où vous en êtes, ça vous évitera de mauvaises surprise par la suite

add

Une particularité de git est son système de staging qui permet de sélectionner les fichier à suivre lors du prochain commit. Vous pouvez imaginer ça comme une "zone d'attente" ou on va lister les fichiers que l'on souhaite voir enregistrés.

git add <fichier>   # Permet de *stage* le fichier
git add <dossier> # Stage tout le dossier
git add *.html        # Stage tous les fichier finissant par .html
git add --all            # Stage tous les fichiers (même les ajouts et les suppressions

Nous verrons dans un prochain chapitre comment retirer les élément de cette zone de staging

commit

Une fois que la zone de staging est prête on va pourvoir faire notre premier commit. Un commit est une étape dans l'historique de votre projet, étape que l'on va pouvoir identifier avec un message particulier

git commit  # Ouvre un éditeur pour insérer le message de notre commit
git commit -m "Message pour le commit ^^"

On utilisera souvent le drapeau -mqui permettra de spécifier directement le message de notre commit

log

Sauvegarder les modification c'est bien, pouvoir les consulter c'est mieux. La commande log permet d'obtenir des informations sur les différents commit de notre projet.

git log # Récupère et affiche les derniers commit

Il existe quelques options utiles

  • --oneline, permet d'afficher l'historique avec une ligne par commit (plus lisible)
  • -n <nombre>, permet de sélectionner le nombre de commit à afficher
  • -p <fichier>, permet de voir l'historique des commit affectant un fichier en particulier
  • --author <motif>, permet de voir l'historique par rapport au nom de l'auteur

On remarquera aussi ici que chaque commit fait dans le projet est identifié par une clef sha1, cette clef sert à la fois à s'assurer de l'intégrité du commit, mais aussi de clef unique. C'est cette clef que l'on utilisera pour désigner un commit particulier.

diff

La commande diff permet de voir les différence qu'il existe sur un fichier

git diff 
git diff <fichier>

Nous montre toutes les différences depuis le dernier commit. En revanche si on veut comparer en partant de ce qui est stage il faudra rajouter --cachedou --staged

Il est aussi possible de comparer par rapport à un commit ou 2 commits ensemble

git diff <commit>           # comparera l'état actuel au commit <commit>
git diff <commit>..<commit> # Permet de comparer les fichier entre 2 commits