Вполне вероятно, что это можно сделать с помощью псевдонима bash,
Да, это будет просто и надежно.
, но я бы предпочелсделать это с помощью псевдонима git.
Учитывая, насколько это было бы уродливо и хрупко, я сомневаюсь в этом.Однако, здесь вы идете:
Во-первых, вам нужно передать историю.Сделайте так, чтобы ваша оболочка записывала его в файл истории после каждой команды, добавив это в .bashrc
:
PROMPT_COMMAND='history -a'
Затем вы можете добавить свой псевдоним git
.Необходимо
- работать с Bash, поскольку система
sh
может не поддерживать расширение истории - включить расширение истории и истории
- прочитать файл истории
- использовать расширение истории в отдельном блоке синтаксического анализа (например, после перевода строки, вне составной команды):
В общем:
s = "!bash -c 'set -Ho history; history -r ~/.bash_history\ngit stash && !-1'"
Обратите внимание, что этоМы выполним последнюю команду, выполненную независимо от экземпляра bash , поэтому, если вы используете несколько окон tmux / screen / Terminal, она не обязательно будет запускать последнюю команду в вашей текущей оболочке.