Я хочу знать, есть ли способ установить флаг по умолчанию для команды git. В частности, я хочу установить --abbrev-commit
флаг, чтобы при выполнении git log
я хотел выполнить git log --abbrev-commit
.
В отличие от вопроса « есть ли способ установить флаг по умолчанию для команды git? », Очевидно, нет флага конфигурации для добавления --abbrev-commit в журнал git. Кроме того, в руководстве по git указано, что я не могу создать псевдоним: «Чтобы избежать путаницы и проблем с использованием сценария, псевдонимы, скрывающие существующие команды git, игнорируются»
Мой третий вариант - придумать новый псевдоним, как glog=log --abbrev-commit
в моем файле .gitconfig. Но я бы предпочел не изобретать собственный DSL с новыми командами.
Есть ли другой способ добиться этого, чтобы abbrev-commit
флаг был установлен по умолчанию ??
Ответы:
Начиная с версии git 1.7.6, в git config появилась опция log.abbrevCommit, для которой можно установить значение true. Таким образом, ответ - обновление как минимум до версии 1.7.6 (на момент написания этой статьи - 1.7.11.4) и использование:
источник
git config --help
или,git help config
чтобы получить документацию, соответствующую вашей установке .Вы можете использовать собственный формат для
git log
имитации--abbrev-commit
по умолчанию:источник
log.abbrevCommit
Параметр влияет другое Подробней форматов, которые я не делал подобного. Также используйте,%C(auto)%h %s
чтобы получить обычный однострочный формат с автоматической раскраской. Я использовал,git config --global format.pretty "%C(auto)%h %d %s"
потому что хотел, чтобы "линия по умолчанию" былаВ git нет универсального механизма для установки аргументов по умолчанию для команд.
Вы можете использовать псевдонимы git, чтобы определить новую команду с необходимыми аргументами:
Тогда можешь бежать
git lg
.Некоторые команды также имеют параметры конфигурации для изменения их поведения.
источник
git lg
ноgit log
VonC уже намекнул на оболочку оболочки в своем ответе; вот моя реализация такой оболочки на Bash. Если вы поместите это, например, в свой
.bashrc
, ваша интерактивная оболочка будет поддерживать переопределение встроенных команд Git, а также псевдонимов верхнего регистра.Затем вы можете переопределить
git log
, поместив скрипт с именемgit-log
где-нибудь в свой PATH:источник
У меня аналогичная проблема (многие параметры по умолчанию для команд Git глупы). Вот мой подход. Создайте на своем пути скрипт с именем 'grit' (или что-то еще), как показано ниже:
Очень просто читать и поддерживать, если вам нужно поделиться им с неспециалистами по Bash.
источник
git
, добавив первую строку , чтобы получить реальный путь команды:thegit=`/usr/bin/which git`
. И я добавил возможность отменить переопределения с й перед командой , какgit x log ...
:if [ "$cmd" = "x" ]; then; $thegit $@
.git log --oneline
Формат мне нравится . Чтобы получить его по умолчанию, используйтеgit config --global format.pretty oneline
Кредит: https://willi.am/blog/2015/02/19/customize-your-git-log-format/
источник
Каждая используемая нами утилита (svn, maven, git, ...) всегда инкапсулирована в .bat (в Windows или .sh в Unix), чтобы предложить нашим разработчикам один каталог для добавления к их пути.
Если git инкапсулирован в сценарий-оболочку, то ... возможно все.
Но это остается решением, связанным с настройкой пользователя, не связанным с самим Git или репозиторием git.
источник