10 votes

Comment puis-je avoir un shell pour git comme dans Windows?

Lorsque j'utilise Windows, l'invite de commande (même une invite de commande Windows standard) affiche des informations de base sur le dépôt Git lorsque vous êtes dans un dépôt Git. Des éléments tels que la branche active et peut-être un peu de codage couleur.

Y a-t-il un moyen d'avoir la même chose dans Ubuntu?

4voto

jnancheta Points 832

La 'shell' Git de Windows, qui n'est en réalité que bash, définit l'invite de commande $PS1 comme une longue chaîne qui inclut $(__git_ps1).

__git_ps1 est défini comme une fonction, presque 100 lignes de long, qui affiche le nom de la branche actuelle entre parenthèses.

/etc/profile (qui correspond à C:\Program Files (x86)\Git\etc\profile, du moins sur mon système)) appelle /etc/git-completion.bash, qui définit la fonction __git_ps1, définit $PS1, définit certaines complétions spécifiques à git, entre autres choses.

Le git-completion.bash utilisé par Git Bash semble être basé sur ceci.

4voto

Uladzimir Points 111

Pour la couleur:

git config --global color.ui true

1voto

Dag Points 1401

Si vous utilisez zsh comme votre shell, vous pourriez trouver mes fichiers de configuration utiles. Essayez source prompt/blocky pour voir à quoi ressemble l'invite dans un dépôt Git.

1voto

John S Gruber Points 12997
  • Comment empêcher les couleurs de l'invite bash de s'échapper a un exemple. Vous pourriez le copier à partir de la réponse puis utiliser gedit pour le coller au bas de votre fichier .bashrc dans votre répertoire personnel (en faisant d'abord une sauvegarde, bien sûr).

  • Si le fichier .bashrc que Keith mentionne dans sa réponse fait partie de git, il sera sous licence GPL2 donc vous devriez être libre de le coller dans votre fichier .bashrc également. Vous devrez également récupérer le fichier /etc/git-completion.bash et l'installer quelque part, puis faire référence à ce dernier dans votre nouveau .bashrc.

  • Voici quelque chose d'autre que vous pourriez copier et essayer de Arturo Fernandez à http://www.bsnux.com/recipes/how-display-you-current-git-branch-prompt.html

    Affichage de la branche git dans l'invite

    function parse_git_branch { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' }

    function proml { local GREEN="\[\033[0;32m\]" local WHITE="\[\033[0;37m\]"

    PS1="[\u@\h \w$GREEN\$(parse_git_branch)]$WHITE\$ " PS2='> ' PS4='+ ' } proml

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X