Проблема в том, что позиционные параметры, похоже, отправляются в команду оболочки дважды (начиная с git 1.9.2). Чтобы понять, что я имею в виду, попробуйте это:
[alias]
test = !git echo $*
Затем выполните git test this is my testing string
. Вы должны наблюдать следующий вывод (последние две строки отредактированы здесь для ясности):
03:41:24 (release) ~/Projects/iOS$ git test this is my testing string
this is my testing string this is my testing string
^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^
#1 #2
Один из способов обойти это было бы
[alias]
chs = !git checkout $1 && git status && git echo x >/dev/null
Это будет использовать дополнительный позиционный параметр при его применении к этой последней команде эха и не повлияет на результаты.