Torvalds似乎有the following prompt。在Zit的Git提示中有额外的信息
[[email protected] git]$
第一个词是用户名。 g5
似乎是Git repo中的一个分支,而git
表明它是Git中的一个分支。
我的提示符
PROMPT="$"
你怎么能有类似的提示与托沃兹?
Torvalds似乎有the following prompt。在Zit的Git提示中有额外的信息
[[email protected] git]$
第一个词是用户名。 g5
似乎是Git repo中的一个分支,而git
表明它是Git中的一个分支。
我的提示符
PROMPT="$"
你怎么能有类似的提示与托沃兹?
其实,我猜g5
是指他当前正在使用的机器的主机名,而git
是当前的工作目录。格式[[email protected] dir]$
是一个非常标准的(即广泛使用的)shell提示符。
Git's integration with Bash programmable completion提供名为__git_ps1
的功能。
如果您改变PS1='[\[email protected]\h \W$(__git_ps1 " (%s)")]\$ '
(在你的.bashrc
或其他一些交互式来源的文件),并做没有进一步的自定义,您提示如下所示:
[[email protected] ~]$ cd /usr/src/linux [[email protected] linux ((v2.6.30))]$
像ephemient说,你会想有Git bash script installed,安装说明靠近文件的顶部。你可能也想看看这个Github guide page。值得注意的一件事是,如果你在一个git目录下,分支只会显示出来。例如,这是我的正常提示:[email protected]:~ $
,当我处于git目录时提示符如下所示:[email protected]:~/code/iphone/DIFM (master*)$
如果仔细观察,显示分支master的部分带有星号之后。这意味着有未分期的变化;如果更改正在进行,它将显示一个+。这可能相当有帮助。要做到这一点,你基本上必须将GIT_PS1_SHOWSTASHSTATE
设置为非空状态。因此,例如在你的~/.bashrc
或~/.bash_profile
,把下面的:
export GIT_PS1_SHOWDIRTYSTATE=true
现在,当你去一个git的目录,你应该看到指示灯,如果有任何不分阶段的变化或是否有任何暂存的变更。您可以通过编辑文件来快速测试。星号应该显示出来。然后,您可以通过执行文件还原到其原始状态:
git checkout -- the/file.txt
顺便说一句,即自动完成bash脚本也确实真棒。你终于可以做'git chec'之类的东西,然后按Tab键,它会自动完成检出,例如,你也可以自动完成分支名称。
您最有可能感兴趣的其他一些资源如下,它指导您完成按照自己的方式进行提示的过程,并且如果需要,可以将颜色添加到某些部分,这可以为更具可读性和信息性的提示。只是尽量不要过头。
另请参见:http://www.simplicidade.org/notes/archives/2008/02/git_bash_comple.html – 2009-07-14 22:05:08
如果使用的zsh(而不是更受欢迎的bash),看看通过淘愿Yammering VCS info in prompts博客文章有关使用vcs_info
子系统由弗兰克Terbeck发达zsh,后端为Git。
我得到如下最终工作
function get_git_branch {
git branch | awk '/^\*/ { print $2 }
}
function get_git_dirty {
git diff --quiet || echo '*'
}
function get_git_prompt {
git branch &> /dev/null || return 1
echo "($(get_git_branch)$(get_git_dirty)) "
}
PROMPT="$(get_git_prompt)\$ "
由于某些未知原因,提示不再起作用。我提出了以下提示替换它:http://stackoverflow.com/questions/1128496/to-get-a-prompt-which-indicates-git-branch-in-zsh/1128721#1128721 – 2009-07-15 00:04:02
不要使用'git分支'来获得当前分支名称,它是瓷器:使用'git symbolic-ref HEAD'。 – 2009-11-27 10:08:19
在搜索过程中碰到这个问题就来了。只是想分享一个更新的解决方案。
Liquid Prompt允许许多定制到zsh提示符,包括显示git分支和git仓库不同状态的各种着色。
问题是询问zsh,而不是bash。 – graywh 2010-09-27 14:36:04