Как я могу отобразить текущее ответвление и путь к папке в терминале?

Я наблюдал за некоторыми Командами видео Treehouse, и у них есть очень симпатичный терминал при работе с Мерзавцем.

Например, они имеют (что-то подобное):

mike@treehouseMac: [/Work/test - feature-branch-name] $ git add .
mike@treehouseMac: [/Work/test - feature-branch-name] $ git commit -m "Some feature."
mike@treehouseMac: [/Work/test - feature-branch-name] $ git checkout master
mike@treehouseMac: [/Work/test - master] $ git status

Как мой терминал может показать мне немного полезной информации того, какое ответвление я иду с цветами для различения битов данных, которые я хочу? Действительно ли там своего рода де-факто плагин, который я еще не нашел?

Я использую Mac OSX 10.8

60
задан 27 June 2013 в 06:20

2 ответа

Существует много генераторов PS1, но ezprompt имеет состояние мерзавца (2-я вкладка 'Status Elements') также.

1
ответ дан 1 November 2019 в 09:42

На основе 6LYTH3's отвечают, что я решил отправить свое собственное должное на некоторые улучшения, которые могут пригодиться:

Простое решение

Открывает ~/.bash_profile и добавляет следующее содержание

# \[\e[0m\] resets the color to default color
reset_color='\[\e[0m\]'
#  \[\033[33m\] sets the color to yellow
path_color='\[\033[33m\]'
# \e[0;32m\ sets the color to green
git_clean_color='\[\e[0;32m\]'
# \e[0;31m\ sets the color to red
git_dirty_color='\[\e[0;31m\]'

# determines if the git branch you are on is clean or dirty
git_prompt ()
{
  # Is this a git directory?
  if ! git rev-parse --git-dir > /dev/null 2>&1; then
    return 0
  fi
  # Grab working branch name
  git_branch=$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')
  # Clean or dirty branch
  if git diff --quiet 2>/dev/null >&2; then
    git_color="${git_clean_color}"
  else
    git_color="${git_dirty_color}"
  fi
  echo " [$git_color$git_branch${reset_color}]"
}

export PS1="${path_color}\w\[\e[0m\]$(git_prompt)\n"

, Это должно:

1) Prompt the path you're in, in color: path_color.
2) Tell you which branch are you.
3) Color the name of the branch based on the status of the branch with git_clean_color 
for a clean work directory and git_dirty_color for a dirty one.
4) The brackets should stay in the default color you established in your computer.
5) Puts the prompt in the next line for readability.

можно настроить цвета с этим список

Комплексное решение

, Другая опция состоит в том, чтобы использовать Подсказку Bash Мерзавца, установку с это . Я использовал опцию через Домашнее пиво на Mac OS X.

git_prompt_list_themes для наблюдения тем, но мне не нравился ни один из них.

git_prompt_color_samples для наблюдения доступных цветов.

git_prompt_make_custom_theme [<Name of base theme>] для создания новой пользовательской темы это должно создать .git-prompt-colors.sh файл.

subl ~/.git-prompt-colors.sh, чтобы открыть git-prompt-colors.sh и настроить:

.git-prompt-colors.sh файл должен быть похожим на это с моей настройкой

    override_git_prompt_colors() {
      GIT_PROMPT_THEME_NAME="Custom"

      # Clean or dirty branch
      if git diff --quiet 2>/dev/null >&2; then
        GIT_PROMPT_BRANCH="${Green}"
      else
        GIT_PROMPT_BRANCH="${Red}"
      fi
    }

    reload_git_prompt_colors "Custom"

Hope, которой это помогает, удачного дня!

0
ответ дан 1 November 2019 в 09:42

Другие вопросы по тегам:

Похожие вопросы: