Quelles sont les lunettes de prescription non http://belgiquepharmacie.be/ Unie de liberté de santé oxford

Les alias sont des raccourcis vers des commandes de Git. Fini les répétitions et autres saisies de commandes rébarbatives ! Pour ajouter de nouveaux alias, créez ou éditez la section [alias] de l’un des fichiers qui suivent (voir les exemples du billet pour avoir une information sur la syntaxe) :

  • ~/.gitconfig pour en bénéficier dans tous vos dépôts.
  • .git/config d’un projet pour restreindre son accès à cet unique projet.

Il est également possible de recourir à la commande git config :

$ git config --global alias.st 'status'

Ici, la commande git st devient un alias de git status.

Note : supprimer le flag --global va ajouter l’alias dans le scope du projet courant.

Table des matières

  1. Mes alias
  2. Des raccourcis pour les utilisateurs de SVN
  3. Annuler le dernier commit
  4. Éditer le dernier commit
  5. Faire le point rapidement
  6. Afficher un historique condensé des commits
  7. Afficher les changements réalisés depuis le dernier pull
  8. Ajouter rapidement des fichiers à commiter
  9. Ouvrir dans TextMate les fichiers non commités

Mes alias

Voici les alias que j’utilise dans le scope global, en provenance donc de mon fichier ~/.gitconfig :

[alias]
    amend = commit --amend
    st = status
    who = shortlog -sne
    oneline = log --pretty=oneline --abbrev-commit --graph
    changes = diff --name-status
    dic = diff --cached
    diffstat = diff --stat
    svnpull = svn rebase
    svnpush = svn dcommit
    lc = !git oneline ORIG_HEAD.. --stat --no-merges
    addm = !git-ls-files -m -z | xargs -0 git-add && git status
    addu = !git-ls-files -o --exclude-standard -z | xargs -0 git-add && git status
    rmm = !git ls-files -d -z | xargs -0 git-rm && git status
    mate = !git-ls-files -m -z | xargs -0 mate
    mateall = !git-ls-files -m -o --exclude-standard -z | xargs -0 mate

Des raccourcis pour les utilisateurs de SVN

[alias]
    st = status
    df = diff
    co = checkout
    ci = commit
    br = branch
    svnpull = svn rebase
    svnpush = svn dcommit

Attention : la commande git checkout n’a pas la même utilité dans Git que dans Subversion !

Annuler le dernier commit

Le flag --soft va conserver les modifications dans le répertoire de travail.

[alias]
    undo = git reset --soft HEAD^

Important : nous travaillons ici en local. Il est malvenu d’annuler un commit sur le dépôt distant (désynchro, arbre cassé, etc). On assume ses erreurs ;-)

Éditer le dernier commit

[alias]
    amend = commit --amend

Faire le point rapidement

[alias]
    changes = diff --name-status
    dic = diff --cached
    diffstat = diff --stat

Afficher un historique condensé des commits

[alias]
    oneline = log --pretty=oneline --abbrev-commit --graph --decorate

Afficher les changements réalisés depuis le dernier pull

[alias]
    lc = !git oneline ORIG_HEAD.. --stat --no-merges

Ajouter rapidement des fichiers à commiter

Les alias qui suivent vont lister les fichiers d’un certain type pour les ajouter à l’index avant commit. J’affiche ensuite l’état du projet pour valider qu’aucune erreur ne s’est produite.

On peut donc chaîner les commandes à condition de préfixer l’alias par un point d’exclamation !.

[alias]
    addm = !git-ls-files -m -z | xargs -0 git-add && git status                     # ajouter les fichiers modifiés.
    addu = !git-ls-files -o --exclude-standard -z | xargs -0 git-add && git status  # ajouter les fichiers inconnus.
    rmm  = !git ls-files -d -z | xargs -0 git-rm && git status                      # supprimer les fichiers marqués
                                                                                    # comme effacés.

Ouvrir dans TextMate les fichiers non commités

Pratique pour reprendre son travail là où l’avait arrêté (poke Jérémy Lecour), git mate permet d’ouvrir dans mon éditeur de code préféré les fichiers modifiés depuis le dernier commit.
L’alias git mateall tiendra compte des fichiers inconnus de l’index du projet.

[alias]
    mate = !git-ls-files -m -z | xargs -0 mate
    mateall = !git-ls-files -m -o --exclude-standard -z | xargs -0 mate
Mises à jour
publicité (chargement)

12 réponses pour Git : des alias pour aller plus vite

  1. Spy-Seth dit :

    Faudrait vraiment que je me penche sur Git un de ces jours. Faut dire que SVN me va très bien pour l’instant. Mais j’entends tellement de gens dire que Git est si puissant comparé à SVN.

  2. nledez dit :

    Et pour éditer les fichiers dans vi : vi = !vi $(git-ls-files -m -z)

    Dans le cas contraire, vim nous hurle dessus : Vim: Warning: Input is not from a terminal

  3. piouPiouM dit :

    Merci pour l’information !

  4. Oncle Tom dit :

    Très sympa ta petite liste. Merci :-)

  5. lionel dit :

    J’ai pas trouvé le fichier qu’on pourrait télécharger et qui reprends tout ça… :D

  6. piouPiouM dit :

    @lionel Vieille flemme :D @Oncle Tom ;-)

  7. Thomas dit :

    Merci pour cette article.

    Ça fait déjà 2 fois qu’il m’aide à trouver la bonne commande !

  8. Panda fou dit :

    Pfiou ben je suis bien content de trouver enfin cette liste de commande. Surtout celle des commits oneline = log —pretty=oneline —abbrev-commit —graph —decorate

    merci bien

  9. […] de très bonne facture faite par Alex Girard. Vous y trouverez des tutoriaux et des commandes sur pioupioum.fr. Vous trouverez aussi une cheatsheet courte et graphique par Roger […]

  10. Mason dit :

    Merci ! J’ai pu ajouter un alias en 4 secondes. Un petit alias de 2 lettres pour remplacer 4 options ce n’est pas rien ;)  !

  11. bobe dit :

    Y en a des bien utiles. C’est Pioupioum de 2037 ? :D

  12. piouPiouM dit :

    Hey bobe, tout à fait ! Ravi de te recroiser :)

Ajouter un commentaire


Syndication

Réseaux sociaux