====== Les commande Git ======
Donne des informations sur la commande et ses configurations possible.
git help nomdemacommande
==== Initialisation d'un dossier ====
Initialisation du versionnage du dossier (créer un dossier «.git » plutôt gros qui stocke toute les versions à ne pas déplacer sur un ftp par exemple)
git init
Affiche la liste des configurations
git config --list
Configure l’identification du mail de manière global sur tout le dossier
git config --global user.email « mon@mail.com »
Configure l’identification du nom de manière global sur tout le dossier
git config --global user.name « monNom »
==== Mettre à jour son contenu ====
Ajoute le fichier monfichier dans les fichier traqué pour le prochain commit
git add monfichier
Ajoute tous les fichiers non traqués ainsi que les fichiers supprimés
git add --all
Commit les fichiers traqué au repo local avec un message de commit
git commit -m "mon message de commit"
Equivalent du git add --all et d'un commit
git commit -a -m
Prend la branche du repo distant et la merge dans la branche locale
git pull origin developper
==== Voir l'historique ====
Affiche tout les commits depuis le debut du projet
git log –-oneline
Affiche les 5 dernier commits
git log –-oneline -n 5
Affiche les 2 derniers commits sur monfichier
git log -p monfichier -n 2
Affiche les différences entre le commit c15aa87 et le contenu actuel
git diff c15aa87 HEAD
Met les fichiers a la version c15aa87
git checkout c15aa87 HEAD
Modifie le fichier index.html en le mettant comme il était au commit c15aa87
git checkout c15aa87 index.html
==== Modifier l'historique ====
Annule-le commit c15aa87 avec un nouveau commit (pas perte de l’historique)
git revert c15aa87
Annule le staging du fichier index.html mais garde les modifications (c'est le mode « mixed » par default)
git reset HEAD index.html
Annule le staging complet mais garde les modifications
git reset
Annule le staging de toutes les modifications jusqu’au commit c15aa87
git reset c15aa87
Reviens deux commit en arrière sans perte des modifications
git reset HEAD^^
Reviens au dernier commit avec perte des modifications et de l'historique
git reset --hard
Ajoute les fichiers suivis au commit précédant
git commit –amend
==== Gestion des branches ====
Créer une nouvelle branche nommée « nouvellebranche » sans changer de branche
git branch nouvellebranche
Change de branche vers la branche nommée « mabranche »
git checkout mabranche
Créer une nouvelle branche nommée « nouvellebranche » et passe dessus
git checkout -b mabranche
Fusionne la branche « mabrancheafusionner » dans la branche courante
git merge mabrancheafusionner
Détruit la branche « mabrancheasupprimer »
git branch -D mabrancheasupprimer
Fusionne la branche « mabrancheafusionner » dans la branche courante mais oblige-le commit par la suite. Cela empêche le fast forward.
git merge --no-ff mabrancheafusionner