(Mac) -bash: __git_ps1: command not found

后端 未结 19 1927
感动是毒
感动是毒 2020-11-30 16:20

I\'m trying to change my command promt in terminal. I keep getting the error:

-bash: __git_ps1: command not found

I\'ve tried it just by typing

相关标签:
19条回答
  • 2020-11-30 16:52

    For git, there are /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh. And please look /etc/bashrc_Apple_Terminal too.

    So, I put these in ~/.bash_profile:

    if [ -f /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh ]; then
      . /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh
      export GIT_PS1_SHOWCOLORHINTS=1
      export GIT_PS1_SHOWDIRTYSTATE=1
      PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }__git_ps1 '\u:\w' '\\\$ '"
    fi
    
    0 讨论(0)
  • 2020-11-30 16:53
    1. Download the files git-prompt.sh and git-completion.bash from this Git completion
    2. Rename the files.
    3. Move those files to your home directory.
    4. Add the source file in to the .bash_profile

      source ~/git-completion0.bash
      source ~/git-prompt0.sh
      and four to trigger the code block.
      
    0 讨论(0)
  • 2020-11-30 16:53

    Yet another option I just installed on Mojave: magicmonty/bash-git-prompt

    Run (brew update) and brew install bash-git-prompt or brew install --HEAD bash-git-prompt

    Then to your ~/.bash_profile or ~/.bashrc:

    if [ -f "$(brew --prefix)/opt/bash-git-prompt/share/gitprompt.sh" ]; then
      __GIT_PROMPT_DIR=$(brew --prefix)/opt/bash-git-prompt/share
      GIT_PROMPT_ONLY_IN_REPO=1
      source "$(brew --prefix)/opt/bash-git-prompt/share/gitprompt.sh"
    fi
    

    I'm happy.

    0 讨论(0)
  • 2020-11-30 16:54

    High Sierra clean solution with colors !

    No downloads. No brew. No Xcode

    Just add it to your ~/.bashrc or ~/.bash_profile

    export CLICOLOR=1
    [ -f /Library/Developer/CommandLineTools/usr/share/git-core/git-prompt.sh ] && . /Library/Developer/CommandLineTools/usr/share/git-core/git-prompt.sh
    export GIT_PS1_SHOWCOLORHINTS=1
    export GIT_PS1_SHOWDIRTYSTATE=1
    export GIT_PS1_SHOWUPSTREAM="auto"
    PROMPT_COMMAND='__git_ps1 "\h:\W \u" "\\\$ "'
    
    0 讨论(0)
  • 2020-11-30 16:55

    If you're hoping to use Homebrew to upgrade Git and you've let your system become out-of-date in general (as I did), you may need to bring Homebrew itself up-to-date first (as per brew update: The following untracked working tree files would be overwritten by merge: thanks @chris-frisina)

    First bring Homebrew into line with the current version

    cd /usr/local
    git fetch origin
    git reset --hard origin/master

    Then update Git:

    brew upgrade git

    Problem Solved! ;-)

    0 讨论(0)
  • 2020-11-30 17:00

    This one worked for me, and it has colored git output and an indicator in the prompt whether files have changed / been added, right baked into it:

    GIT_PS1_SHOWDIRTYSTATE=true
    
    . /usr/local/Cellar/git/1.8.5.2/etc/bash_completion.d/git-completion.bash
    . /usr/local/Cellar/git/1.8.5.2/etc/bash_completion.d/git-prompt.sh
    
    PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
    

    Be sure to use the correct path! I used homebrew to install git, use brew list git to get the path to your current installation.

    Would be nice not to use a hard coded path, but don't know how to get the path to the current installation.

    More infos here: http://en.newinstance.it/2010/05/23/git-autocompletion-and-enhanced-bash-prompt/

    0 讨论(0)
提交回复
热议问题