在终端中显示 git 分支

在终端中显示 git 分支

我正在使用 fedora 操作系统,当我进入 git 文件夹项目时,我想在终端中显示 git 分支或标签。

我跟随本教程。我跑完之后:

source /usr/share/git-core/contrib/completion/git-prompt.sh
source ~/.bashrc

它很好地显示了 git 分支。但如果我跑:

cd .. #I go back the parent folder which is not git folder

它保留 git 分支。我该如何修复它?

答案1

不确定教程的行为是否有问题,但您可以自己轻松完成此操作。在您的中定义这样的别名.bashrc

# function for PS1 to display [ git branch] when it is defined
function __show_git_branch() {
  branch=`git rev-parse --abbrev-ref HEAD 2>/dev/null`
  test -n "$branch" && echo " [$branch]"
}

然后将 PS1 设置为如下所示:

PS1='-- $(__show_git_branch) \$ '

这将导致每次显示提示时都重新计算 git 分支。如果有错误,它会被发送到/dev/null并且后续test不会回显任何内容,因此如果您不在目录中,这将返回一个空字符串git

您没有问这个,但我将其作为“方便的提示”传递给您。知道您正在重新初始化会很有帮助一切使用bash别名和环境变量时。执行此操作的一个简单方法是使用exec

exec bash

这将在当前运行的 shell 上重新启动 bash。如果您想像再次登录一样重新启动它,则exec bash -l.

答案2

~/.bashrc在您的或.bash_profile文件中添加这些代码行

  1. 打开终端。并转到终端中的主目录(用 表示~)。您可以使用命令转到主目录cd ,然后在终端中按 Enter 键。
  2. 现在您输入la并查看 .bashrc 或 .bash_profile 是否存在。
  3. 现在使用打开任何文件sudo nano .bashrc(在这里您可以使用.bashrc.bash_profile)。我.bashrc在这里使用文件

在此输入图像描述

现在您的 Nano 编辑器将提示您,按向下箭头键转到 Nano 编辑器的底部,并将以下代码行粘贴到文件末尾。

# to add the git branch names
function parse_git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
 
RED="\[\033[01;31m\]"
YELLOW="\[\033[01;33m\]"
GREEN="\[\033[01;32m\]"
BLUE="\[\033[01;34m\]"
NO_COLOR="\[\033[00m\]"

# without host
PS1="$GREEN\u$NO_COLOR:$BLUE\w$YELLOW\$(parse_git_branch)$NO_COLOR\$ "
# with host
# PS1="$GREEN\u@\h$NO_COLOR:$BLUE\w$YELLOW\$(parse_git_branch)$NO_COLOR\$ "

在此输入图像描述

现在按Ctrl+s保存文件,然后按Ctrl+x退出 nano 编辑器。

现在你完成了。

现在检查你的 git 存储库,它将显示带有彩色名称的分支名称。

在此输入图像描述

参考

https://gist.github.com/danielalvarenga/2df8cabbd6f3041c2378

相关内容