Come posso avere una shell per git come in Windows?


9

Quando uso Windows, la shell (anche una shell standard di Windows) mostra le informazioni di base sul repository git quando ci si trova in un repository git. Cose come il ramo attivo e forse un po 'di codice colore.

C'è un modo per avere lo stesso in Ubuntu?


quale versione di git hai installato in windows? Quali comandi esegui per ottenere queste informazioni? Hai provato quei comandi con il git-corepacchetto installato?
jackweirdy,

Su git ho l'ultima versione, ma semplicemente se uso la riga di comando e mi trovo in un repository git, vedo il nome del ramo attivo
Nicola Peluchetti,

Risposte:


4

La shell di Windows Git, che in realtà è solo bash, imposta il prompt $PS1su una lunga stringa che include $(__git_ps1).

__git_ps1 è definita come una funzione, lunga quasi 100 righe, che stampa il nome del ramo corrente tra parentesi.

/etc/profile(che è C:\Program Files (x86)\Git\etc\profile, almeno sul mio sistema)) invoca /etc/git-completion.bash, che definisce la __git_ps1funzione, imposta $PS1, definisce alcuni completamenti specifici di git, tra le altre cose.

L' git-completion.bashusato da Git Bash sembra essere basato su questo .


1
Quindi esattamente cosa dovrei fare per attivarlo su uBuntu? :) Scusa ma sono nuovo.
Nicola Peluchetti,

Vai alla directory Home e digita il comando nel terminale come "gedit .baschr" e ti verrà richiesto di modificare il file .baschr. Ma assicurati di avere una copia originale in una directory diversa per sicurezza.
Rahal Kanishka,



1
  • Come smettere di fuggire i colori dei prompt di bash è un esempio. Potresti copiarlo dalla risposta e quindi usare gedit per incollarlo in fondo al file .bashrc nella tua home directory (facendo un backup, ovviamente, prima).

  • Se il file .bashrc menzionato da Keith nella sua risposta fa parte di git, sarà concesso in licenza con GPL2, quindi dovresti essere libero di incollarlo anche nel tuo file .bashrc. Dovrai prendere il file /etc/git-completion.bash e installarlo anche da qualche parte, e fare riferimento al tuo nuovo .bashrc.

  • Ecco qualcos'altro che potresti incollare e provare da Arturo Fernandez a http://www.bsnux.com/recipes/how-display-you-current-git-branch-prompt.html

 # Visualizzazione del prompt di git all'interno del prompt
 funzione parse_git_branch {
   git branch --no-color 2> / dev / null | sed -e '/ ^ [^ *] / d' -e 's / * \ (. * \) / (\ 1) /'
 }

 funzione proml {
   VERDE locale = "\ [\ 033 [0; 32m \]"
   local WHITE = "\ [\ 033 [0; 37m \]"

 PS1 = "[\ u @ \ h \ w $ GREEN \ $ (parse_git_branch)] $ WHITE \ $"
 PS2 = '>'
 PS4 = '+'
}
proml
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.