Как бы вы реализовали псевдоним git, который выполняет внешние команды и работает как из bash, так и из Powershell?
В настоящее время у меня есть псевдоним gitPrune
, настроенный как для bash (в моем .bash_profile
), так и в Powershell (в profile.ps1
), который очищает ветви, которые больше не нужны:
# bash
alias gitPrune="git remote prune origin; git branch --merged | grep -vEe '^\*| master$' | sed 's/.*/git branch -dv \0/e'"
# Powershell
function gitPrune { git remote prune origin; git branch --merged | Select-String -NotMatch '^\*| master$' | %{git branch -dv $_.ToString().Trim()} }
Таким образом, я могу gitPrune
как из git-bash (в Windows), так и из Powershell. Теперь я хотел бы перенести это в мой .gitconfig
, чтобы сохранить вместе с другими псевдонимами, связанными с git. Тем не менее, тот же .gitconfig
будет использоваться независимо от того, открыта ли у меня консоль Powershell или открыт терминал git-bash. Как мне реализовать эту "двойную" команду, используя синтаксис git-config "external command"?
[alias]
myPrune = "! ..."