Como posso ter um shell para o git como no Windows?

9

Quando uso o Windows, o shell (mesmo um shell padrão do Windows) mostra informações básicas sobre o repositório git quando você está em um repositório git. Coisas como o ramo ativo e talvez algum código de cores.

Existe uma maneira de ter o mesmo no Ubuntu?

Nicola Peluchetti
fonte
qual versão do git você instalou no windows? Quais comandos você executa para obter essas informações? Você já tentou esses comandos com o git-corepacote instalado?
22812 jackweirdy
Em git eu tenho a versão mais recente, mas simplesmente se eu usar a linha de comando e eu estou dentro de um repositório git, eu vejo o nome da ramificação ativa
Nicola Peluchetti

Respostas:

4

O shell do Windows Git, que é realmente apenas o bash, define o prompt $PS1para uma longa sequência que inclui $(__git_ps1).

__git_ps1 é definido como uma função, com quase 100 linhas, que imprime o nome da ramificação atual entre parênteses.

/etc/profile(que é C:\Program Files (x86)\Git\etc\profile, pelo menos no meu sistema)) chama /etc/git-completion.bash, que define a __git_ps1função, define $PS1, define algumas conclusões específicas do git, entre outras coisas.

O git-completion.bashusado pelo Git Bash parece ser baseado nisso .

Keith Thompson
fonte
1
Então, exatamente o que devo fazer para ativar isso no uBuntu? :) Desculpe, mas sou novo.
Nicola Peluchetti
Vá para o diretório inicial e digite o comando no terminal como "gedit .baschr" e você será solicitado a editar o arquivo .baschr. Mas certifique-se de ter uma cópia original em um diretório diferente, por segurança.
Rahal Kanishka
4

Para cor:

git config --global color.ui true
Justin Seiter
fonte
1
  • Como parar o escape das cores do prompt do bash tem um exemplo. Você pode copiá-lo da resposta e, em seguida, usar o gedit para colá-lo na parte inferior do arquivo .bashrc no diretório inicial (fazer um backup, primeiro, é claro).

  • Se o arquivo .bashrc que Keith mencionar em sua resposta for parte do git, ele será licenciado com a GPL2, portanto você deve ser livre para colá-lo no seu arquivo .bashrc também. Você precisará pegar o arquivo /etc/git-completion.bash e instalá-lo em algum lugar também, e seu novo .bashrc fará referência a ele.

  • Aqui está outra coisa que você pode colar e experimentar com Arturo Fernandez em http://www.bsnux.com/recipes/how-display-you-current-git-branch-prompt.html

 # Exibindo ramificação git dentro do prompt
 função parse_git_branch {
   ramificação git - sem cor 2> / dev / null | sed -e '/ ^ [^ *] / d' -e 's / * \ (. * \) / (\ 1) /'
 }

 função proml {
   VERDE local = "\ [\ 033 [0; 32m \]"
   local BRANCO = "\ [\ 033 [0; 37m \]"

 PS1 = "[\ u @ \ h \ w $ VERDE \ $ (parse_git_branch)] $ BRANCO \ $"
 PS2 = '>'
 PS4 = '+'
}
proml
John S Gruber
fonte