Добавление ведущего "!"псевдоним действительно означает, что git запускает его в оболочке, но эта оболочка здесь не рыба.Это оболочка, которая была задана во время сборки как SHELL_PATH, скорее всего (и по умолчанию) "/ bin / sh".А поскольку git использует ту же оболочку для запуска других вещей (например, пейджера), она, безусловно, должна быть POSIX-совместимой, что исключает использование fish.
Выбранная пользователем оболочка для входа не имеет значения.
Таким образом, вы можете просто использовать оригинальный код, и он должен работать.
В качестве альтернативы, вы можете поместить это в скрипт с именем git-into
(без окончания, правильной строки shebang и исполняемого бита)в $ PATH, и git найдет его, когда вы вызовете git into
.
Если вы действительно захотите использовать fish -c
здесь, вам придется иметь дело с двумя слегка несовместимыми слоямицитирование, которое я бы не рекомендовал.