有没有办法在Mac的终端提示符中添加当前工作目录/当前git repo / branch

时间:2011-09-25 01:56:40

标签: macos git terminal prompt

第一次发布海报。

本周在工作中谈话......

有没有办法,当您远程连接到git时,您可以在终端提示符中显示当前工作目录/当前git repo / branch?

显然,linux用户存在linux / vim脚本,我想将这种shell脚本添加到我的个人资料中。

目前,我正在使用此页面http://sos.blog-city.com/mac_os_x__bash_customize_your_terminal_prompt_a_little_color.htm中的一些信息在本地解决部分信息。

提前致谢。

4 个答案:

答案 0 :(得分:4)

获取git完成脚本的副本。你可以从git本身获得这个,或者如果你有一个方便的Linux盒子,你甚至可以从那里复制它(它可能是/etc/bash_completion.d/git)。然后,安排这个由bash“获取”。您可以通过向.bashrc添加类似内容来实现此目的:

. /usr/local/git-completion

(假设您在Mac上将文件命名为/usr/local/git-completion)。

最后,您需要调整提示。同样在.bashrc中,添加以下内容:

export PS1='[\w$(__git_ps1 "|%s")]\$ '

这是一篇博文(不是我),更详细地讨论了这个(和其他一些相关的东西):http://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-without

答案 1 :(得分:0)

好吧,在你指出我正确的方向后,我尝试了这一点,我的谷歌搜索获得了更精细的结果。

很多人都指向你与我分享的帖子,就像在这里:https://superuser.com/questions/31744/how-to-get-git-completion-bash-to-work-on-mac-os-x但是我发现了一些其他类似的珠宝,我没有使用但是提供了丰富的信息:jeetworks.org/node/10 ,jonmaddox.com/2008/03/13/show-your-git-branch-name-in-your-prompt/。

我需要一些关于安装git.completion的不同指导,因为我使用的是我在这里找到的自制软件:https://github.com/bobthecow/git-flow-completion/wiki/Install-Bash-git-completion,它涵盖了几种安装它的方法。

最后,我的bash /终端有点笨拙,所以我在使用这些指令之前升级到了最新的bash:milkbox.net/brace_completion_snow_leopard_upgrading_bash/并且速度有了很大提升。

我最终不得不非常仔细地重建我的配置文件脚本,但是有路径和错误(因为Bash 3和4之间存在差异,以及一些语法错误) - 现在它看起来很棒,并完成了工作。

再次感谢。

对于网站的安全限制以上的抱怨,限制我(因为我是新手)到2个链接来打击垃圾邮件。

答案 2 :(得分:0)

您只需要两个步骤即可完成。

STEP.1:

在您喜欢的编辑器中打开〜/ .bash_profile ,并将以下内容添加到底部。

对我来说就像是

emacs ~/.bash_profile

Step.2:

将以下内容添加到底部。

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

export PS1='\h:\w$(git_branch) \u\$'

完成!

P.S:

如果您希望终端色彩丰富,请尝试以下内容。

export PS1 = '\[\e[1;39m\]\h:\w\[\e[01;39m\]$(git_branch) \[\e[01;39m\]$ \[\e[0m\]'

答案 3 :(得分:0)

在shell提示符下获取git分支/状态信息的另一个选项是使用powerline-shell

您可以在此屏幕截图中查看此内容: enter image description here

洋红色/绿色条是当前分支名称。其颜色表示工作目录是否干净。当存在未跟踪的文件时,或者有提交被拉出/推送到上游远程时,也会出现标记。

Powerline-shell与bash,zsh和fish兼容。