Soru Terminalde mevcut şube ve klasör yolunu nasıl görüntüleyebilirim?


Bazı Team Treehouse videolarını izledim ve Git ile çalışırken çok hoş görünümlü bir terminali var.

Örneğin onlar (benzer bir şey):

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

Terminalim, hangi dalda olduğumu, hangi renklerin istediğim veriyi ayırt edebileceğini gösteren bazı yararlı bilgiler gösterebilir mi? Henüz bulamadığım bir çeşit de facto eklentisi var mı?

Mac OSX 10.8 kullanıyorum


44
2018-06-27 02:20


Menşei




Cevaplar:


Bu bir eklenti ile ilgili değil. Kabuktaki hızlı numaralar hakkında.

Bash'da havalı bir kurulum için dotfiles bu adamın projesi:

https://github.com/mathiasbynens/dotfiles

Bir fantezi istemi almak için .bash_prompt senin içinde ~/.bash_profile veya ~/.bashrc.

Sorunuzdaki soruların aynısını almak için export PS1 sonunda satır .bash_prompt bunun gibi:

export PS1="\[${BOLD}${MAGENTA}\]\u\[$WHITE\]@\[$ORANGE\]\h\[$WHITE\]: [\[$GREEN\]\w\[$WHITE\]\$([[ -n \$(git branch 2> /dev/null) ]] && echo \" - \")\[$PURPLE\]\$(parse_git_branch)\[$WHITE\]] \$ \[$RESET\]"

Hepsini kullanarak bitti .bash* bir ay önce bu depodaki dosyaları ve benim için gerçekten çok yararlı oldu.

Git için fazladan güzellikler var. .gitconfig.

Ve bir Mac kullanıcısı olduğunuzdan, daha da fazla güzellik var. .osx.


51
2018-06-27 04:02



Bundan sonra alıyorum: bash: parse_git_branch: command not found - Sharikov Vladislav


Basit yol

Açık ~/.bash_profile En sevdiğiniz düzenleyicide ve aşağıya aşağıdaki içeriği ekleyin.

Git dalı istendiğinde.

parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}

export PS1="\u@\h \[\033[32m\]\w - \$(parse_git_branch)\[\033[00m\] $ "

TERMİNAL PROMPT (MAC) GIT ŞUBESİ EKLE


38
2017-12-01 05:32



En sondaki $ işaretinden önce bir \ n ile bunu sevdim. - Gandalf458
Tamamen özelleştirmek için 5 dakika sürdü! İşte renk: misc.flogisoft.com/bash/tip_colors_and_formatting - rndrfero


Mevcut büyük cevapları genişletmek için, harika görünümlü bir terminal elde etmenin çok basit bir yolu açık kaynak kullanmaktır. Dotfiles projesi.

https://github.com/mathiasbynens/dotfiles


enter image description here


OSX ve Linux'ta kurulum son derece basit. Terminalde aşağıdaki komutu çalıştırın.

git clone https://github.com/mathiasbynens/dotfiles.git && cd dotfiles && source bootstrap.sh

Bu gidiyor:

  1. Git repo'yu klonla.
  2. cd klasöre.
  3. Yükleme bash komut dosyasını çalıştırın.

27
2018-02-07 20:54



Bu tersine nasıl herhangi bir fikir? - ChickenWing24
@ ChickenWing24 tersine çevirmek için bir yol bulmak? - ollaollu
@ollaollu bir şekilde tersine çevirdi. Yine de uzun bir zaman oldu, bu yüzden% 100 adımları hatırlayamıyorum. Ama yaptığım, temel olarak bu repo ile ilgili olan tüm dosyaları / klasörleri silmekti. - ChickenWing24
tamam teşekkürler, buna benzer bir şey izledim ve işe yaradı - ollaollu
Mükemmel çalışıyor! - Nicolas Bodin-Ripert


Mesajım şunları içerir:

  • Son komutun çıkış durumu (0 değilse)
  • Kök olduğunda ayırt edici değişiklikler
  • rsync-style user@host:pathname kopyalayıp yapıştırmak için
  • Git dalı, dizin, değiştirilmiş, izlenmeyen ve akış yukarı bilgi
  • Güzel renkler

Örnek:   Screenshot of my prompt in action Bunu yapmak için, aşağıdakileri ~/.bashrc:

#
# Set the prompt #
#

# Select git info displayed, see /usr/lib/git-core/git-sh-prompt 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

7
2017-08-04 04:13



Bu, bilgi dolu bir komut istemi için inanılmaz derecede temiz koddur. Bir kaç saatimi, burada sahip olduğunuz temelde varmak için soruşturmada ve tuzaklardan tırmanarak geçirdim. İstemde özel, renklendirilmiş, git durumunda çalışıyorsanız bu kodla başlamanızı tavsiye ederim. - wisbucky


Sisteminizde kurulu olan git paketi, bilgi istemi oluşturmanıza yardımcı olacak bash dosyalarını içerir. Renk oluşturmak için, terminal çıkış sekanslarını isteminize eklemeniz gerekir. Ve son bileşen, her komutun yerleşik PROMPT_COMMAND değişkeni kullanılarak yürütüldükten sonra isteminizi güncellemektir.

Aşağıdakileri dahil etmek için ~ / .bashrc dosyanızı düzenleyin ve sorunuzdaki komut satırını almalısınız, bazı renk farklılıklarını modifiye edin.

#
# Git provides a bash file to create an informative prompt. This is its standard
# location on Linux. On Mac, you should be able to find it under your Git
# installation. If you are unable to find the file, I have a copy of it on my GitHub.
#
# https://github.com/chadversary/home/blob/42cf697ba69d4d474ca74297cdf94186430f1384/.config/kiwi-profile/40-git-prompt.sh
#
source /usr/share/git/completion/git-prompt.sh

#
# Next, we need to define some terminal escape sequences for colors. For a fuller
# list of colors, and an example how to use them, see my bash color file on my GitHub
# and my coniguration for colored man pages.
#
# https://github.com/chadversary/home/blob/42cf697ba69d4d474ca74297cdf94186430f1384/.config/kiwi-profile/10-colors.sh
# https://github.com/chadversary/home/blob/42cf697ba69d4d474ca74297cdf94186430f1384/.config/kiwi-profile/40-less.sh
#
color_start='\e['
color_end='m'
color_reset='\e[0m'
color_bg_blue='44'

#
# To get a fancy git prompt, it's not sufficient to set PS1. Instead, we set PROMPT_COMMAND,
# a built in Bash variable that gets evaluated before each render of the prompt.
#
export PROMPT_COMMAND="PS1=\"\${color_start}\${color_bg_blue}\${color_end}\u@\h [\w\$(__git_ps1 \" - %s\")]\${color_reset}\n\$ \""

#
# If you find that the working directory that appears in the prompt is ofter too long,
# then trim it.
#
export PROMPT_DIRTRIM=3

2
2018-06-27 05:26