Моя команда использует формат для названий наших веток для единообразия. Для данной ветки формат будет следующим: «feature/TeamName-CardNumber». Номер карты — единственная часть, которая изменится, поэтому я хотел бы создать псевдоним, например:
git cobf '111'
Где 111 — номер карты.
Я попробовал эту команду, чтобы установить псевдоним:
git config --global alias.cobf 'checkout -b feature/TeamName-"
Но при запуске команды git cobf 111
я получаю сообщение о том, что 111 не является коммитом и из него нельзя создать ветку.
Почему это не удается?
Это потому, что после расширения псевдонима ваша команда разрешается как
git checkout -b feature/TeamName- 111
... что для git означает «оформить новую ветку с именем feature/TeamName-
, указывающую на committish 111
» (грубо говоря, «committish» — это либо фиксация, либо что-то, указывающее на нее, например ветка или тег)
Что делать вместо этого?
Чтобы избежать этого, используйте специальную функцию bash для более удобной обработки параметров:
git config --global alias.cobf '!f() { git checkout -b feature/TeamName-$1; }; f'
Примечание: кавычки не нужны, когда вы будете вызывать псевдоним, подойдет git cobf 111
.