Ich habe einige der Team Treehouse-Videos gesehen und sie haben ein sehr gut aussehendes Terminal, wenn ich mit Git arbeite.
Zum Beispiel haben sie (etwas ähnliches):
mike@treehouseMac: [/Work/test - feature-branch-name] $ git add .
mike@treehouseMac: [/Work/test - feature-branch-name] $ git commit -m "Some feature."
mike@treehouseMac: [/Work/test - feature-branch-name] $ git checkout master
mike@treehouseMac: [/Work/test - master] $ git status
Wie kann mein Terminal mir einige nützliche Informationen darüber anzeigen, in welchem Zweig ich mich befinde, mit Farben, um Teile der gewünschten Daten zu unterscheiden? Gibt es eine Art De-facto-Plugin, das ich noch nicht gefunden habe?
Ich verwende Mac OSX 10.8
quelle
bash: parse_git_branch: command not found
parse_git_branch: command not found
?parse_git_branch
Fehler zu beheben , müssen Sie eine Funktion definieren als:parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \1/' }
parse_git_branch
wurde vermutlich von hier kopiert: gist.github.com/joseluisq/1e96c54fa4e1e5647940Einfacher Weg
Öffnen Sie
~/.bash_profile
in Ihrem bevorzugten Editor und fügen Sie den folgenden Inhalt unten hinzu.Git-Zweig in Eingabeaufforderung.
Git Branch zur Terminal-Eingabeaufforderung hinzufügen (Mac)
quelle
Für alle, die nach einer Möglichkeit suchen, dies in macOS Catalina oder höher (10.15+ inkl. Big Sur 11.0) zu tun, die bash zugunsten von zsh veraltet hat, ist hier meine .zshrc-Datei:
Wenn Ihnen die von mir verwendeten Farben nicht gefallen, ersetzen Sie die Werte 243/197/39 durch die hier definierten Farbcodes: https://misc.flogisoft.com/bash/tip_colors_and_formatting
quelle
touch .zshrc
(in Ihrem Home-Verzeichnis)Eine sehr einfache Möglichkeit, ein gut aussehendes Terminal zu erhalten, ist die Verwendung des Open-Source- Dotfiles- Projekts, um die vorhandenen großartigen Antworten zu erweitern .
https://github.com/mathiasbynens/dotfiles
Die Installation ist unter OSX und Linux kinderleicht. Führen Sie den folgenden Befehl in Terminal aus.
Das wird:
cd
in den Ordner.quelle
Meine Eingabeaufforderung enthält:
rsync
-Stiluser@host:pathname
für Copy-Paste-GüteBeispiel: Fügen Sie dazu Folgendes hinzu
~/.bashrc
:# # Set the prompt # # # Select git info displayed, see /usr/share/git/completion/git-prompt.sh for more export GIT_PS1_SHOWDIRTYSTATE=1 # '*'=unstaged, '+'=staged export GIT_PS1_SHOWSTASHSTATE=1 # '$'=stashed export GIT_PS1_SHOWUNTRACKEDFILES=1 # '%'=untracked export GIT_PS1_SHOWUPSTREAM="verbose" # 'u='=no difference, 'u+1'=ahead by 1 commit export GIT_PS1_STATESEPARATOR='' # No space between branch and index status export GIT_PS1_DESCRIBE_STYLE="describe" # detached HEAD style: # contains relative to newer annotated tag (v1.6.3.2~35) # branch relative to newer tag or branch (master~4) # describe relative to older annotated tag (v1.6.3.1-13-gdd42c2f) # default exactly eatching tag # Check if we support colours __colour_enabled() { local -i colors=$(tput colors 2>/dev/null) [[ $? -eq 0 ]] && [[ $colors -gt 2 ]] } unset __colourise_prompt && __colour_enabled && __colourise_prompt=1 __set_bash_prompt() { local exit="$?" # Save the exit status of the last command # PS1 is made from $PreGitPS1 + <git-status> + $PostGitPS1 local PreGitPS1="${debian_chroot:+($debian_chroot)}" local PostGitPS1="" if [[ $__colourise_prompt ]]; then export GIT_PS1_SHOWCOLORHINTS=1 # Wrap the colour codes between \[ and \], so that # bash counts the correct number of characters for line wrapping: local Red='\[\e[0;31m\]'; local BRed='\[\e[1;31m\]' local Gre='\[\e[0;32m\]'; local BGre='\[\e[1;32m\]' local Yel='\[\e[0;33m\]'; local BYel='\[\e[1;33m\]' local Blu='\[\e[0;34m\]'; local BBlu='\[\e[1;34m\]' local Mag='\[\e[0;35m\]'; local BMag='\[\e[1;35m\]' local Cya='\[\e[0;36m\]'; local BCya='\[\e[1;36m\]' local Whi='\[\e[0;37m\]'; local BWhi='\[\e[1;37m\]' local None='\[\e[0m\]' # Return to default colour # No username and bright colour if root if [[ ${EUID} == 0 ]]; then PreGitPS1+="$BRed\h " else PreGitPS1+="$Red\u@\h$None:" fi PreGitPS1+="$Blu\w$None" else # No colour # Sets prompt like: ravi@boxy:~/prj/sample_app unset GIT_PS1_SHOWCOLORHINTS PreGitPS1="${debian_chroot:+($debian_chroot)}\u@\h:\w" fi # Now build the part after git's status # Highlight non-standard exit codes if [[ $exit != 0 ]]; then PostGitPS1="$Red[$exit]" fi # Change colour of prompt if root if [[ ${EUID} == 0 ]]; then PostGitPS1+="$BRed"'\$ '"$None" else PostGitPS1+="$Mag"'\$ '"$None" fi # Set PS1 from $PreGitPS1 + <git-status> + $PostGitPS1 __git_ps1 "$PreGitPS1" "$PostGitPS1" '(%s)' # echo '$PS1='"$PS1" # debug # defaut Linux Mint 17.2 user prompt: # PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] \w\[\033[00m\] $(__git_ps1 "(%s)") \$ ' } # This tells bash to reinterpret PS1 after every command, which we # need because __git_ps1 will return different text and colors PROMPT_COMMAND=__set_bash_prompt
quelle
Installieren Sie einfach die
oh-my-zsh
Plugins wie in diesem Link beschrieben .Es funktioniert am besten unter MacOS und Linux.
Grundinstallation
Oh My Zsh wird installiert, indem Sie einen der folgenden Befehle in Ihrem Terminal ausführen. Sie können dies über die Befehlszeile mit entweder
curl
oder installierenwget
.via curl
via wget
quelle
Das auf Ihrem System installierte Git-Paket enthält Bash-Dateien, die Sie beim Erstellen einer informativen Eingabeaufforderung unterstützen. Um Farben zu erstellen, müssen Sie Terminal-Escape-Sequenzen in Ihre Eingabeaufforderung einfügen. Die letzte Zutat besteht darin, Ihre Eingabeaufforderung zu aktualisieren, nachdem jeder Befehl mithilfe der integrierten Variablen PROMPT_COMMAND ausgeführt wurde.
Bearbeiten Sie Ihre ~ / .bashrc so, dass sie Folgendes enthält, und Sie sollten die Eingabeaufforderung in Ihrer Frage erhalten, einige Farbunterschiede zu modulieren.
quelle
Es gibt viele PS1-Generatoren, aber ezprompt hat auch den Git-Status (2. Registerkarte ' Statuselemente ').
quelle
Aufgrund der Antwort von 6LYTH3 habe ich mich aufgrund einiger Verbesserungen, die nützlich sein könnten, entschlossen, meine eigenen zu veröffentlichen:
Einfache Lösung
Öffnen
~/.bash_profile
Sie den folgenden Inhalt und fügen Sie ihn hinzuDas sollte:
Mit dieser Liste können Sie die Farben anpassen
Anspruchsvolle Lösung
Eine andere Möglichkeit ist die Verwendung von Git Bash Prompt. Installieren Sie damit . Ich habe die Option über Homebrew unter Mac OS X verwendet.
git_prompt_list_themes
um die Themen zu sehen, aber ich mochte keines von ihnen.git_prompt_color_samples
um verfügbare Farben zu sehen.git_prompt_make_custom_theme [<Name of base theme>]
Um ein neues benutzerdefiniertes Design zu erstellen, sollte eine .git-prompt-colours.sh-Datei erstellt werden.subl ~/.git-prompt-colors.sh
um git-prompt-colors.sh zu öffnen und anzupassen:Die Datei .git-prompt-colours.sh sollte bei meiner Anpassung so aussehen
Hoffe das hilft, einen schönen Tag noch!
quelle
Ich denke, 2019
git branch --show-current
ist ein besserer Befehl als die akzeptierte Antwort.(Hinzugefügt in Git 2.22 Release im Juni 2019)
Es läuft viel schneller, da es nicht alle Zweige durchlaufen muss. Ähnliches
git branch
sollte auch in der Eingabeaufforderung vermieden werden, da dies Ihre Eingabeaufforderung verlangsamt, wenn Sie viele lokale Zweige haben.Fügen Sie es in eine Funktion ein, die an einer beliebigen Stelle an der Eingabeaufforderung verwendet werden kann:
Mehr Kontext:
quelle
Unter Mac OS Catalina wird .bash_profile durch .zprofile ersetzt
Schritt 1: Erstellen Sie ein .z-Profil
Schritt 2:
Geben Sie hier die folgende Zeile ein
und speichern (Strg + o Strg + x zurückgeben)
Schritt 3: Starten Sie Ihr Terminal neu
So fügen Sie einen Git- Zweignamen hinzu Jetzt können Sie die folgenden Zeilen in .bash_profile hinzufügen
Starten Sie Ihr Terminal neu, dies wird funktionieren.
Hinweis: Auch Sie können .bash_profile in .zprofile umbenennen, was ebenfalls funktioniert.
quelle
zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and continue [y] or abort compinit [n]?
Halte es schnell, halte es einfach
Fügen Sie dies in Ihre
~/.bashrc
Datei ein.Dann
source ~/.bashrc
quelle
Für Mac Catilina 10.15.5 und eine neuere Version:
Fügen Sie Ihre ~ / .zshrc-Datei hinzu
function parse_git_branch() { git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p' } setopt PROMPT_SUBST export PROMPT='%F{grey}%n%f %F{cyan}%~%f %F{green}$(parse_git_branch)%f %F{normal}$%f '
quelle