J M G

- -
Articles
Software
Automation
Games
-
  1 / Mémo git- - -
logogit Une liste de commandes essentielles pour travailler avec GIT. Toutes les options et commandes sont disponible à l'adresse : https://git-scm.com/doc. Pour héberger un dépôt le service GitHub est disponible gratuitement dans la mesure ou les sources sont publiques. Les librairies utilisés pour ce site sont disponible sur mon dépôt public.

CONFIGURATION DE GIT

git config --global push.default simple : Indique à la commande « git push » de ne pousser que la branche en cours.
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" : créer un alias de log en couleur et concis, appelé par git lg
git config --global user.name "Votre Nom" : Nom affecté à tout les dépôts git de l'utilisateur
git config --global user.email "adresse@email.com" : émail affecté à tout les dépôts git de l'utilisateur

DÉMARRER UN DÉPÔT

git init : Démarrer git dans un répertoire qui contient déjà des fichiers.
git clone user@serveur:/chemin/vers/repertoire/source -- repertoirecible : Démarre un dépôt depuis un dépôt git existant
git@github.com:Hesmo/LibJm.git : Démarre un dépôt depuis un dépôt GitHub
git clone --bare user@serveur:/chemin/vers/repertoire/source -- repertoirecible : Démarre un dépôt 'bare' depuis un dépôt git existant
git clone -l --no-hardlinks repertoiresource -- repertoirecible : Démarre un dépôt en clonant un dépôt local

SYNCHRONISER SON TRAVAIL

git remote -v : Affiche les serveurs distants
git remote show origin : Analyse le serveur distant renvoi les branches distantes et l'interaction avec le dépôt
git fetch [Nom du dépôt] [Nom de la branche] : Récupère les dernières modifications du dépôt distant (Ne fusionne pas les infos)
git pull [Nom du dépôt] [Nom de la branche] : Récupère les dernières modifications du dépôt distant et tente une fusion
git push [Nom du dépôt] [Nom de la branche] : Envoi la version en cours vers le dépôt distant

COMMANDES COURANTES

git status : Affiche le statut des fichiers modifiés depuis le dernier commit. (Ne fonctionne pas avec un dépôt 'bare' car il n'y a pas de fichier dans un dépôt 'bare')
git add [fichier] : Ajoute fichier à l'index en cours (revient à décider quelles sont les modifs qui seront dans le prochain commit)
git checkout -- [fichier] : Rétablit le fichier dans sont état du dernier commit
git rm [fichier] : Supprime le fichier
git diff : Affiche les modifications entre les modifications et l'index
git stash : Sauvegarde les modifs sans faire de commit si on veut travailler sur une autre branch sans commiter
git stash liste : Affiche toute les piles mise de cotés par la commande stash
git stash apply : Applique la dernière remise (par défaut)
git stash apply stash@{2} : Applique la remise numéro 2

TRAVAILLER AVEC LES BRANCHES

git branch -r : affiche toute les branches distantes
git branch [Nom de la branche] : Création d’une branche (avec l’option -v donne plus de détail)
git checkout -b [Nom de la branche] : Création d’une branche puis change la branche en cours
git checkout -b [Nom de la branche] [Nom du dépôt]/[Nom de la branche] : Récupère une branche depuis le dépôt
git checkout [Nom de la branche] : Change la branche en cours
git branch --merged : Affiche les branches fusionnés
git branch --no-merged : Affiche les branches non fusionnés.
git push --set-upstream [Nom du dépôt] [Nom de la branche] : Suit une branche du dépôt
git branch -d [Nom de la branche] : Supprime la branche

RENDRE SES MODIFICATIONS EFFECTIVES

git commit -m [Nom du commit] : Enregistre les modifications apportés par git add, git rm...
git commit --amend : Ajoute les dernières modifications au dernier commit (si on a oublié une petite modification)
git reset --hard [hash] : Force le retour au commit indiqué par le hash (c'est hard comme son nom l'indique)
git reset [commit] : Retourne à l’état de [commit], garde les modifications des fichiers avec le statut unstaged (à ajouter avec git add). Avec l’option —hard supprime toute les modifications (à éviter) d’autres option existe (--soft --mixed (par défaut) --merge --keep). Pour revenir à un commit plus vieux que le dernier voir git revert
git merge [Nom de la branche] : Fusionne la branche dans la branche en cours. (Si on veut appliquer une branche dans la branche "master" il faut être dans la branche "master")
git rebase [Nom de la branche source] : Récupère les infos de la branche source et les applique dans la branche en cours !! Le dernier commit de master servira de racine à la branche en cours

SUIVRE LES MODIFICATIONS

git lg : Si l'allias est définit (voir section 'CONFIGURATION DE GIT' ligne 2), affiche une vue simplifié des commits
git log : Affiche la liste des commits détaillés
git log --pretty=oneline : Affiche la liste résumée des commits (Hash et titre)
- - -