Wie kann ich eine Shell für Git wie in Windows haben?

9

Wenn ich Windows verwende, zeigt die Shell (sogar eine Standard-Windows-Shell) grundlegende Informationen zum Git-Repository an, wenn Sie sich in einem Git-Repository befinden. Dinge wie der aktive Zweig und vielleicht eine Farbcodierung.

Gibt es eine Möglichkeit, dasselbe in Ubuntu zu haben?

Nicola Peluchetti
quelle
Welche Version von Git haben Sie in Windows installiert? Welche Befehle führen Sie aus, um diese Informationen abzurufen? Haben Sie diese Befehle mit git-coreinstalliertem Paket ausprobiert ?
Jackweirdy
Auf Git habe ich die neueste Version, aber wenn ich einfach die Kommandozeile benutze und mich in einem Git-Repository
befinde

Antworten:

4

Die Windows Git-Shell, die eigentlich nur Bash ist, setzt die Eingabeaufforderung $PS1auf eine lange Zeichenfolge, die enthält $(__git_ps1).

__git_ps1 wird als eine fast 100 Zeilen lange Funktion definiert, die den Namen des aktuellen Zweigs in Klammern druckt.

/etc/profile(was C:\Program Files (x86)\Git\etc\profilezumindest auf meinem System der Fall /etc/git-completion.bashist )) ruft auf , was die __git_ps1Funktion definiert , setzt $PS1, definiert unter anderem einige git-spezifische Vervollständigungen.

Die git-completion.bashverwendete von Git Bash erscheint auf der Grundlage dieser .

Keith Thompson
quelle
1
Also genau was sollte ich tun, um dies auf uBuntu zu aktivieren? :) Entschuldigung, aber ich bin neu.
Nicola Peluchetti
Gehen Sie zum Home-Verzeichnis und geben Sie den Befehl im Terminal als "gedit .baschr" ein. Sie werden aufgefordert, die .baschr-Datei zu bearbeiten. Stellen Sie jedoch sicher, dass sich eine Originalkopie in einem anderen Verzeichnis befindet.
Rahal Kanishka
4

Für Farbe:

git config --global color.ui true
Justin Seiter
quelle
1

Wenn Sie zsh als Shell verwenden, sind meine Konfigurationsdateien möglicherweise hilfreich. Versuchen Sie source prompt/blockyzu sehen, wie die Eingabeaufforderung in einem Git-Repository aussieht.

pconley
quelle
1
 # Anzeige des Git-Zweigs innerhalb der Eingabeaufforderung
 Funktion parse_git_branch {
   Git-Zweig --no-color 2> / dev / null | sed -e '/ ^ [^ *] / d' -e 's / * \ (. * \) / (\ 1) /'
 }}

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

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