Я пишу скрипт для автоматизации задачи Git. Делая это вручную, есть несколько моментов, когда git открывает vim для редактирования сообщения о коммите, и мне приходится набирать :wq
. Есть ли способ заранее отправлять эти нажатия клавиш из моего скрипта, но только если открывается vim? Или есть ли способ вообще не открывать vim?
Я использую tcsh.
решение1
Вы можете просто не открывать Vim вообще.
Один из вариантов — использовать опцию --message=<message>
(или -m <message>
, для краткости) для git subtree pull
. Недостаток в том, что вы не можете использовать сообщение по умолчанию, предоставляемое git, и вместо этого должны придумать свое собственное. Плюс в том, что это должно работать практически везде, где git требуется сообщение коммита.
Другой вариант, которыйделаетиспользовать сообщение по умолчанию — изменить «редактор», который открывает git, на cat. Просто не забудьте сразу же вернуть его обратно после:
git config --local core.editor /path/to/cat
git subtree pull --prefix foo/bar/path repo branch --squash
git config --local core.editor /path/to/vim-or-other-editor
Плюс этого в том, что вы можете использовать сообщение по умолчанию, предоставляемое git. Минус в том, что это не сработает, если сообщение коммита по умолчанию пустое, как это обычно бывает при выполнении простого git commit
.