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

9

Lorsque j'utilise Windows, le shell (même un shell Windows standard) affiche des informations de base sur le référentiel git lorsque vous êtes dans un référentiel git. Des choses comme la branche active et peut-être un codage couleur.

Existe-t-il un moyen d'avoir le même dans Ubuntu?

Nicola Peluchetti
la source
quelle version de git avez-vous installé dans windows? Quelles commandes exécutez-vous pour obtenir ces informations? Avez-vous essayé ces commandes avec le git-corepackage installé?
jackweirdy
Sur git j'ai la dernière version, mais simplement si j'utilise la ligne de commande et que je suis dans un dépôt git, je vois le nom de la branche active
Nicola Peluchetti

Réponses:

4

Le shell Windows Git, qui est vraiment juste bash, définit l'invite $PS1sur une longue chaîne qui inclut $(__git_ps1).

__git_ps1 est défini comme une fonction, longue de près de 100 lignes, qui imprime le nom de la branche courante entre parenthèses.

/etc/profile(qui est C:\Program Files (x86)\Git\etc\profile, au moins sur mon système)) invokes /etc/git-completion.bash, qui définit la __git_ps1fonction, définit $PS1, définit certaines complétions spécifiques à git, entre autres.

Le git-completion.bashutilisé par Git Bash semble être basé sur cela .

Keith Thompson
la source
1
Alors, exactement ce que je dois faire pour l'activer sur uBuntu? :) Désolé mais je suis nouveau.
Nicola Peluchetti
Allez dans le répertoire d'accueil et tapez la commande dans le terminal comme "gedit .baschr" et vous serez invité à modifier le fichier .baschr. Mais assurez-vous d'avoir une copie originale dans un répertoire différent pour des raisons de sécurité.
Rahal Kanishka
4

Pour la couleur:

git config --global color.ui true
Justin Seiter
la source
1

Si vous utilisez zsh comme shell, vous pourriez trouver mes fichiers de configuration utiles. Essayez source prompt/blockyde voir à quoi ressemble l'invite dans un référentiel Git.

pconley
la source
1
  • Comment empêcher les couleurs d'invite bash de s'échapper a un exemple. Vous pouvez le copier à partir de la réponse, puis utiliser gedit pour le coller au bas de votre fichier .bashrc dans votre répertoire personnel (faire une sauvegarde, d'abord, bien sûr).

  • Si le fichier .bashrc mentionné par Keith dans sa réponse fait partie de git, il sera sous licence GPL2, vous devriez donc être libre de le coller également dans votre fichier .bashrc. Vous devrez saisir le fichier /etc/git-completion.bash et l'installer quelque part également, et faire référencer votre nouveau .bashrc.

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

 # Affichage de la branche git dans l'invite
 fonction parse_git_branch {
   git branch --no-color 2> / dev / null | sed -e '/ ^ [^ *] / d' -e 's / * \ (. * \) / (\ 1) /'
 }

 fonction proml {
   VERT local = "\ [\ 033 [0; 32m \]"
   BLANC local = "\ [\ 033 [0; 37m \]"

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