1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vcs-all-in-one-oh-my-git

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг альтернативный тэг

альтернативный тэг# Установка

Шрифт oh-my-git поставляется с twor темами. Одна из них, показанная выше, называется oppa-lana-style. Она основана на Awesome-Terminal-Fonts от @gabrielelana. Скриншоты выше используют шрифт Source Code Pro от Adobe, который был модифицирован для включения дополнительных глифов из Powerline и из Awesome-Terminal-Fonts, но вы можете выбрать любой другой шрифт из Awesome-Terminal-Fonts. Вы можете свободно скачать шрифты с оригинальной страницы репозитория.Для установки одного из шрифтов, на macOS просто дважды щелкните соответствующий файл ttf и нажмите кнопку Установить шрифт. На данный момент, мне не удалось найти способ сделать стратегию падающего обратного вызова работоспособной на macOS.

На Linux вы можете либо установить исправленный шрифт, либо применить стратегию падающего обратного вызова Awesome-Terminal-Fonts.

Затем настройте ваш терминал с нужным шрифтом и перезапустите его.

Bash

Одна строка для macOS:

git clone https://github.com/arialdomartini/oh-my-git.git ~/.oh-my-git && echo source ~/.oh-my-git/prompt.sh >> ~/.profile

Одна строка для Ubuntu:

git clone https://github.com/arialdomartini/oh-my-git.git ~/.oh-my-git && echo source ~/.oh-my-git/prompt.sh >> ~/.bashrc

Затем перезапустите свой терминал.

Ручная установка

Создайте форк репозитория и клонируйте его в домашнюю директорию.

Затем добавьте

source $HOME/oh-my-git/prompt.sh

в файл запуска bash (~/.profile на Mac, ~/.bashrc на Linux).

Если вы предпочитаете хранить репозиторий oh-my-git в другой директории, просто модифицируйте файл запуска согласно выбранному расположению

source /где-угодно-вы-хотите/oh-my-git/prompt.sh

zsh

С установленным antigen, просто добавьте

antigen use oh-my-zsh
antigen bundle arialdomartini/oh-my-git
antigen theme arialdomartini/oh-my-git-themes oppa-lana-style

в ваш файл .zshrc.oh-my-git-themes всё ещё включает старые две темы arialdo-granzestyle (которая вдохновлена замечательной темой Granze) от @granze, и arialdo-pathinline. Если вы хотите использовать их, редактируйте соответственно ваш файл .zshrc.## Как установить antigen

Antigen — это менеджер плагинов для zsh. Установка antigen проста:

cd ~ && git clone https://github.com/zsh-users/antigen.git .antigen 

Затем отредактируйте ваш файл .zshrc, включив следующее:

source "$HOME/.antigen/antigen.zsh"

antigen use oh-my-zsh
antigen bundle arialdomartini/oh-my-git
antigen theme arialdomartini/oh-my-git-themes oppa-lana-style

antigen apply

При перезапуске zsh, antigen скачает и установит все необходимое.

Настройка символов

Вы можете легко изменить любые символы, используемые в промпте. Посмотрите файл prompt.sh (или файл oppa-lana-style.zsh-theme, если вы используете zsh). Вы найдете множество переменных, каждая из которых имеет свое значение по умолчанию. Названия переменных должны быть самообъясняющими. Например,

: ${omg_is_a_git_repo_symbol:='❤'}
: ${omg_has_untracked_files_symbol:='∿'}
: ${omg_has_adds_symbol:='+'}
: ${omg_has_deletions_symbol:='-'}
: ${omg_has_cached_deletions_symbol:='✖'}
: ${omg_has_modifications_symbol:='✎'}
: ${omg_has_cached_modifications_symbol:='☲'}
: ${omg_ready_to_commit_symbol:='→'}
: ${omg_is_on_a_tag_symbol:='⌫'}

Вы можете переопределить любую из этих переменных в своем файле запуска оболочки. Например, просто добавьте

omg_is_on_a_tag_symbol='#'

в свой файл .bashrc, и oh-my-git будет использовать #, когда вы находитесь на теге.

Отключение oh-my-git

Oh-my-git можно отключить на основе каждого репозитория. Просто добавьте [oh-my-git] enabled = false

в файл .git/config вашего репозитория, чтобы вернуться к исходному промпт для данного конкретного репозитория. Это может быть полезно при работе с очень большими репозиториями, когда команды Git, вызываемые oh-my-git, могут замедлить работу промпта.

Удаление

Bash

  • Удалите строку source ~/.oh-my-git/prompt.sh из файла запуска терминала (.profile или .bashrc)
  • Удалите репозиторий oh-my-git с помощью команды rm -fr ~/.oh-my-git

ZSH

Удалите строки

antigen use oh-my-zsh
antigen bundle arialdomartini/oh-my-git
antigen theme arialdomartini/oh-my-git-themes oppa-lana-style

из вашего файла .zshrc

Устранение неполадок

Помогите, я установил oh-my-git, но это то, что я вижу:

alt tag

A: Вероятнее всего, вы забыли установить шрифт.


Я не хочу устанавливать новый шрифт!

A: Ничего страшного. Вы можете выбрать другую тему либо настроить символы. Посмотрите на файл prompt.sh. Он содержит список заранее определённых символов, аналогично:

# Символы
: ${omg_is_a_git_repo_symbol:='❤'}
: ${omg_has_untracked_files_symbol:='∿'}
: ${omg_has_adds_symbol:='+'}
: ${omg_has_deletions_symbol:='-'}
: ${omg_has_modifications_symbol:='✎'}

Это просто значения по умолчанию. Если вы хотите использовать другой знак для незафиксированных файлов, просто определите omg_has_untracked_files_symbol="что-угодно"

в вашем файле запуска оболочки.


В Bash последний символ выглядит очень плохо, как это

oh-my-git

A: К сожалению, мне не удалось найти способ сообщить Bash "выведи следующий символ используя цвет фона, который используется в терминале", а также, по моему мнению, нет способа достичь этого результата. Zsh не затрагивается этой проблемой, но Bash сталкивается с такими трудностями.

Как следствие, при выводе последнего символа, oh-my-git вынужден явно указывать цвета переднего плана и фона. В настоящее время стандартный цвет фона — чёрный. Это неудачно, так как если терминал использует другой цвет фона, отличный от чёрного, результат будет плохим, как показано на приведённой выше картинке.

Умное решение было предложено @Sgiath: установите первый цвет (верхний левый угол) таким же, как цвет фона, как это:

oh-my-git

На самом деле это устанавливает "чёрный" цвет таким же, как цвет фона терминала.

Если по какой-либо причине вы не можете изменить палитру цветов, вы можете переопределить цвета, используемые для отображения последнего символа, с помощью переменной omg_last_symbol_color.Например, если терминал использует серый фон, вы можете добавить

фон=240
красный='\e[0;31m'
omg_last_symbol_color="${красный}\[\033[48;5;${фон}m\]"

в вашем .bashrc и исправьте проблему, выбрав правильное значение для фон.

Вы можете использовать

Foreground=160
Background=240
omg_last_symbol_color="\[\033[38;5;${Foreground}m\]\[\033[48;5;${Background}m\]"

если хотите более детальный контроль над цветами.

Найти правильное значение не так просто. Обратитесь к этой странице за таблицей кодов ANSI для 256 цветов.


На OS X я настроил iTerm2 с исправленным шрифтом, но промпт всё ещё сломан.

A: Предпочтения iTerm2 имеют две секции для установки шрифта: одна для обычного шрифта и другая для шрифта для не-ascii символов. Шрифт должен быть установлен в обеих секциях, как показано на следующем скриншоте:

страница предпочтений iTerm2


Помогите! На Linux я не могу установить шрифт!

A: Вы должны обратиться к документации Awesome-Terminal-Fonts. В любом случае, вот как я лично настраиваю промпт на Ubuntu

# Копируем awesome шрифты в ~/.fonts
cd /tmp
git clone https://github.com/gabrielelana/awesome-terminal-fonts
cd awesome-terminal-fonts
git checkout patching-strategy
mkdir -p ~/.fonts
cp patched/*.ttf ~/.fonts    # Обновляем кэш информации о шрифтах
sudo fc-cache -fv ~/.fonts

Затем запустите gnome-terminal (или любой другой терминал, который вам нравится) и выберите один из awesome-шрифтов

альт тег

Наконец, установите oh-my-zsh с однойстрочной командой (если вы используете Bash) или с помощью Antigen, если вы предпочитаете zsh, и перезапустите терминал.


Когда я не нахожусь в репозитории Git, мне хочется использовать мой старый любимый промпт...

A: Конечно! Используйте переменную omg_ungit_prompt. Сохраните там свой старый промпт: он будет использоваться тогда, когда вы не находитесь в репозитории Git.


Помогите! Я использовал однустрочную команду для OS X, но промпт не запускается!

A: Однастрочная команда для OS X добавляет команду запуска в ~/.profile, который является файлом старта для общих входящих shell. Если присутствует ~/.bash_profile, этот файл используется вместо .profile, а сам .profile игнорируется. Чтобы решить вашу проблему, используйте этот альтернативный однастрочный вариант:

cd ~ && git clone https://github.com/arialdomartini/oh-my-git.git && echo source $HOME/oh-my-git/prompt.sh >> .bash_profile

или просто переместите команду запуска

echo source $HOME/oh-my-git/prompt.sh

из .profile в .bash_profile


Привет, где же название моего текущего виртуального окружения? Оно пропало с промпта! Или выглядит вот так:виртуальное окружение отображается некорректно

Ответ: Да, действительно, подход с промптами виртуальных окружений довольно разочаровывает (см. Virtualenv's bin/activate is Doing It Wrong): скрипт activate выполняет следующее:

PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"

что нагло дополняет имя виртуального окружения к текущему PS1, оставляя вас без возможности кастомизации вывода.

Вы можете решить эту проблему, отключив стандартный промпт виртуального окружения и используя обратный вызов функции omg_prompt_callback.

Добавьте

VIRTUAL_ENV_DISABLE_PROMPT=true
function omg_prompt_callback() {
    if [ -n "${VIRTUAL_ENV}" ]; then
        echo "\e[0;31m(`basename ${VIRTUAL_ENV}`)\e[0m "
    fi
}

в ваш скрипт запуска оболочки. Это должно отобразить промпт внутри активированного виртуального окружения вот так:

правильное отображение виртуального окружения

Вы можете использовать обратный вызов функции для внедрения чего угодно в начало второй строки.

Известные ошибки и ограничения* требуется git версии 1.8.4 или выше

  • работает странно на новых репозиториях до первого коммита
  • протестировано только на Mac и Ubuntu. Я никогда не мог заставить это работать на Cygwin
  • в зависимости от выбранной темы вам потребуется шрифт Unicode (например, Sauce Code Pro, Menlo или Monaco на Mac OS X, или Monospace на Ubuntu; на Windows с использованием Cygwin хорошим выбором является Meslo от Андре Берга, но я не тестировал тему oppa-lana-style)
  • если терминал использует светлый фоновый цвет, в Bash вам потребуется изменить цвета, определённые в prompt.sh. Версия для zsh не подвергается этой проблеме.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Субъективное приглашение git для bash и zsh. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/vcs-all-in-one-oh-my-git.git
git@api.gitlife.ru:oschina-mirror/vcs-all-in-one-oh-my-git.git
oschina-mirror
vcs-all-in-one-oh-my-git
vcs-all-in-one-oh-my-git
master