【问题标题】:is there a way to add current working directory/current git repo/branch in terminal prompt for Mac有没有办法在 Mac 的终端提示符中添加当前工作目录/当前 git repo/branch
【发布时间】:2011-09-25 01:56:39
【问题描述】:

第一次海报。

这周在工作中的谈话中出现了......

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

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

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

提前致谢。

【问题讨论】:

    标签: macos git terminal prompt


    【解决方案1】:

    获取 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

    【讨论】:

    • 谢谢,这看起来正是我想要的。在接下来的几天里,我会搞砸它,让你知道它是怎么回事。
    【解决方案2】:

    好的,在你指出我正确的方向后,我尝试了这个,我的谷歌搜索得到了更精确的结果。

    很多人指向您与我分享的帖子,例如: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 个链接以打击垃圾邮件。

    【讨论】:

      【解决方案3】:

      您只需要 2 个步骤即可。

      步骤一:

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

      对我来说就像

      emacs ~/.bash_profile
      

      第二步:

      在底部添加以下内容。

      function git_branch {
      git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'}
      
      export PS1='\h:\w$(git_branch) \u\$'
      

      完成!

      附注:

      如果你想让你的终端色彩斑斓,试试下面的内容。

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

      【讨论】:

        【解决方案4】:

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

        您可以在此屏幕截图中看到它的样子:

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

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

        【讨论】:

          猜你喜欢
          • 2018-05-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-13
          • 2013-05-20
          • 2017-10-26
          • 2020-06-10
          • 2013-06-10
          相关资源
          最近更新 更多