如何缩短 Git Bash 提示 (Windows)

mal*_*ala 15 windows git-bash

我如何从这样的东西缩短我的 git bash 提示

Malik@LAPTOP-7R9912OI MINGW64 ~/Desktop/test
$
Run Code Online (Sandbox Code Playgroud)

像这样的事情

Malik@test$
Run Code Online (Sandbox Code Playgroud)

我在 git 版本为 2.21.0 (26-02-2019) 的 Windows 上使用 git bash

Kri*_*zza 21

另一种答案是转到C:\Program Files\Git\etc\profile.d并打开git-prompt.sh文件。它包含 Git Bash 的默认配置/提示。

if test -f /etc/profile.d/git-sdk.sh
then
    TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
    TITLEPREFIX=$MSYSTEM
fi

if test -f ~/.config/git/git-prompt.sh
then
    . ~/.config/git/git-prompt.sh
else
    PS1='\[\033]0;$TITLEPREFIX:$PWD\007\]' # set window title
    PS1="$PS1"'\n'                 # new line
    PS1="$PS1"'\[\033[32m\]'       # change to green
    # PS1="$PS1"'\u@\h '             # user@host<space>
    # PS1="$PS1"'\[\033[35m\]'       # change to purple
    # PS1="$PS1"'$MSYSTEM '          # show MSYSTEM
    # PS1="$PS1"'\[\033[33m\]'       # change to brownish yellow
    PS1="$PS1"'\W'                 # current working directory
    if test -z "$WINELOADERNOEXEC"
    then
        GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
        COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
        COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
        COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
        if test -f "$COMPLETION_PATH/git-prompt.sh"
        then
            . "$COMPLETION_PATH/git-completion.bash"
            . "$COMPLETION_PATH/git-prompt.sh"
            PS1="$PS1"'\[\033[36m\]'  # change color to cyan
            PS1="$PS1"'`__git_ps1`'   # bash function
        fi
    fi
    PS1="$PS1"'\[\033[0m\]'        # change color
    # PS1="$PS1"'\n'                 # new line
    PS1="$PS1"' $ '                 # prompt: always $
fi

MSYS2_PS1="$PS1"               # for detection by MSYS2 SDK's bash.basrc

# Evaluate all user-specific Bash completion scripts (if any)
if test -z "$WINELOADERNOEXEC"
then
    for c in "$HOME"/bash_completion.d/*.bash
    do
        # Handle absence of any scripts (or the folder) gracefully
        test ! -f "$c" ||
        . "$c"
    done
fi
Run Code Online (Sandbox Code Playgroud)

在我的配置中,我注释掉了user@host<space>,MINGW64并通过更改\w\W.

  • 这可行,但要小心:git 更新会覆盖此文件。该文件检查是否存在“~/.config/git/git-prompt.sh”,如果存在则优先,因此您最好在那里进行更改,或者直接在“~/.bashrc”中进行更改。 (7认同)

Gov*_*mar 14

在 Git Bash 中:

cd ~
notepad .bashrc
Run Code Online (Sandbox Code Playgroud)

在记事本中,添加行PS1="foobar>"(替换foobar>为您想要的任何文本)

保存后~/.bashrc,在 Git Bash 中运行命令:

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

您可能会发现此在线.bashrc生成器有助于尝试找到您喜欢的提示。


TTT*_*TTT 5

我想根据Krizza 的答案提供一些调整。每当您更新 Git For Windows 安装时,提示文件都可能被覆盖,因此最好复制它。幸运的是,该文件对此有一个内置计划:

首先复制默认git-prompt.sh文件并将其放入您自己的个人配置位置。就我而言,命令是:

cp /c/Program\ Files/Git/etc/profile.d/git-prompt.sh ~/.config/git/
Run Code Online (Sandbox Code Playgroud)

不要跳过此步骤!else现在,请确保通过删除除较大子句 where is set内的内容之外的所有内容来更新文件副本PS1。(在撰写本文时,我只保留第 12-36 行。)请注意,如果跳过此步骤,Git Bash 将陷入无限循环并退出。

现在您可以随意编辑文件的副本。我个人的偏好是注释掉显示用户和主机以及 MSYSTEM,而是显示当前时间,如下所示:

# PS1="$PS1"'\[\033[32m\]'       # change to green
# PS1="$PS1"'\u@\h '             # user@host<space>
PS1="$PS1"'\[\033[35m\]'       # change to purple
PS1="$PS1"'\D{%H:%M:%S} '      # show current time
# PS1="$PS1"'$MSYSTEM '          # show MSYSTEM
Run Code Online (Sandbox Code Playgroud)

我个人认为一天中的时间很有用,因此当我稍后查看提示时,我可以看到运行前面命令的时间,例如git fetch等。