Трубы в псевдониме git?

Я работаю над ветвями функций, которые раздражают большие имена, поэтому я часто заканчиваю grepping моим текущим именем ветки, когда мне нужно нажать на ветвь функции из моей локальной ветки функции, например:

git branch | grep '*' | sed 's/* //' | xargs git push origin

Это прекрасно работает. Я хочу сделать это псевдонимом, поэтому я сделал это в ~/.gitconfig:

[alias]
   pushcur = branch | grep '*' | sed 's/* //' | xargs git push origin

Теперь, когда я запускаю git pushcur, я получаю следующую ошибку:

usage: git branch [options] [-r | -a] [--merged | --no-merged]

Приведя меня к мысли, что псевдоним неправильно обрабатывает трубы. Есть ли что-то еще, что я должен сделать для достижения желаемого псевдонима?

Ответ 1

Я не думаю, что вы можете, но вы можете

[alias]
    pushcur = ! git branch | grep '*' …

Ответ 2

Я обычно делаю небольшие скрипты git- и помещаю их в каталог, который на моем пути (~/.local/bin). Проверьте git-extras для кучи хороших примеров.