Вот идея:
Используйте переменную оболочки HISTIGNORE
для фильтрации всех git
команд из обычной истории команд.
Создать функцию оболочки с именем git
, которая добавляет строку git $@
к ~/.git_history
..., а затем выполняет /usr/bin/git "$@"
.
Но я не думаю, что этохорошая идея.Как указывает @evolutionxbox, если вы отфильтруете все команды git
, вы не сможете завершить историю для команд git
.(Я бы ненавидел , что ...)
И в этом подходе есть существенный недостаток.Ваш фальшивый файл git «history» будет содержать аргументы команды для команды git
только после того, как оболочка их расширит.Вы не будете записывать то, что было расширено, и вы не будете записывать какие-либо перенаправления или конвейеры.
FWIW, я не думаю, что bash
способен записывать различные части вашего списка историив разные файлы.Таким образом, вышеприведенное может быть настолько хорошим, насколько это возможно ... если только вы не готовы изменить bash
.