====== 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