Je veux savoir s'il existe un moyen de définir un indicateur par défaut pour la commande git. Plus précisément, je souhaite définir l' --abbrev-commit
indicateur de sorte que lors de l'exécution git log
, je souhaite exécuter git log --abbrev-commit
.
Contrairement à la question " y a-t-il un moyen de définir un indicateur par défaut pour une commande git? ", Il n'y a apparemment pas d'indicateur de configuration pour ajouter --abbrev-commit à git log. De plus, le manuel git déclare que je ne peux pas créer d'alias: "Pour éviter toute confusion et problèmes liés à l'utilisation du script, les alias qui masquent les commandes git existantes sont ignorés"
Ma troisième option est d'inventer un nouvel alias comme glog=log --abbrev-commit
dans mon fichier .gitconfig. Mais je préfère ne pas inventer mon propre DSL avec de nouvelles commandes.
Y a-t-il un autre moyen d'y parvenir afin que le abbrev-commit
drapeau soit défini par défaut?
Réponses:
Depuis la version 1.7.6 de git, git config a gagné une option log.abbrevCommit qui peut être définie sur true. Ainsi, la réponse est la mise à niveau vers au moins 1.7.6 (la version actuelle à ce jour est la 1.7.11.4) et l'utilisation:
la source
git config --help
ougit help config
pour obtenir la documentation correspondant à votre installation .Vous pouvez utiliser un format personnalisé pour avoir une
git log
mimique--abbrev-commit
par défaut:la source
log.abbrevCommit
paramètre affectait d'autres formats plus verbeux, ce que je n'aimais pas. Utilisez également%C(auto)%h %s
pour obtenir le format en ligne normal avec coloration automatique. J'ai utiliségit config --global format.pretty "%C(auto)%h %d %s"
parce que je voulais décoré en ligne comme "par défaut"Il n'y a pas de mécanisme générique dans git pour définir les arguments par défaut des commandes.
Vous pouvez utiliser des alias git pour définir une nouvelle commande avec les arguments requis:
Ensuite, vous pouvez courir
git lg
.Certaines commandes ont également des paramètres de configuration pour modifier leur comportement.
la source
git lg
maisgit log
VonC a déjà fait allusion à un wrapper shell dans sa réponse; voici mon implémentation Bash d'un tel wrapper. Si vous mettez cela par exemple dans votre
.bashrc
, votre shell interactif prendra en charge le remplacement des commandes intégrées de Git ainsi que des alias en majuscules.Vous pouvez ensuite remplacer
git log
en mettant un script nommégit-log
quelque part dans votre PATH:la source
J'ai un problème similaire (la plupart des options par défaut pour les commandes Git sont stupides). Voici mon approche. Créez un script appelé 'grit' (ou autre) sur votre chemin, comme suit:
Très simple à lire et à maintenir, au cas où vous auriez besoin de le partager avec des non-experts de Bash.
la source
git
en ajoutant une première ligne pour obtenir le chemin de commande réel:thegit=`/usr/bin/which git`
. Et j'ai ajouté une option pour annuler les remplacements avec un x avant la commande commegit x log ...
:if [ "$cmd" = "x" ]; then; $thegit $@
.J'aime le
git log --oneline
format. Pour l'obtenir par défaut, utilisezgit config --global format.pretty oneline
Crédit: https://willi.am/blog/2015/02/19/customize-your-git-log-format/
la source
Tous les utilitaires que nous utilisons (svn, maven, git, ...) sont toujours encapsulés dans un .bat (sous Windows, ou .sh sous Unix), afin d'offrir à nos développeurs un répertoire à ajouter à leur chemin.
Si git est encapsulé dans un script wrapper, alors ... tout est possible.
Mais cela reste une solution liée à la configuration de l'utilisateur, non liée à Git lui-même ou au repo git.
la source