Примечание, что правильное решение вашей проблемы может быть просто с помощью post-checkout
hook, как написано в hacker's answer.
Ниже Возможное решение для вопрос.
Вы либо используете одиночную команду git в псевдониме, например, например.
[alias]
alias = config --get-regexp ^alias\\.
или вы используете любую команду с '!' префикс, возможно, используя «sh -c
» трюк; то вы должны записать «git command», например.
[alias]
sed = !git ls-files --stage | grep ^100 | awk '{print $4}' | xargs sed
who = "!sh -c 'git log -1 --pretty=\"format:%an <%ae>\" --author=\"$1\"' -"
(не то, что alias.sed
- лучшее решение).
Если вы хотите для "git br <somebranch>
" делать "git checkout <somebranch>
", затем "rap
", попробуйте
[alias]
br = !sh -c 'git checkout "$0" && rap'
Здесь &&
означает: сделать следующую команду, если предыдущий будет успешным. Вы можете использовать ;
вместо того, чтобы выполнить команду, независимо от статуса ранее команды
BTW вы не переключатель филиалов с помощью «git checkout <branch>
»? «git branch <branchname>
» создает ветку, не проверяя ее.
Конечно, я хотел сделать чек. Я буду обвинять в недостатке кофе, как и все остальные. –
Вы можете отредактировать свой вопрос, чтобы исправить его, BTW. –