#git #unix #terminal
#git #unix #терминал
Вопрос:
Мне нужны псевдонимы для:
git add --a
git commit -m ""
git push origin master
git pull origin master
Я сделал их все, за исключением того, как мне заставить терминал запрашивать сообщение о фиксации, а затем сохранять его?
Итак:
commit
"What's your commit message"
added footer <enter>
git commit -m "added footer"
Возможно ли это сделать?
Я попытался выполнить переменную printf
и read
, а затем вставить ее с $variable
помощью, но это не сработало.
Комментарии:
1. Знаете ли вы, что если вы просто это сделаете
git commit
, вы попадете в редактор сообщений о фиксации? Вам не нужно делатьgit commit -m
.
Ответ №1:
Используйте функции вместо псевдонимов:
#!/usr/bin/env bash
commit(){
echo "What's your commit message?"
read msg
git commit -m "$msg"
}
Ответ №2:
Вы можете сделать это с помощью функции вместо одного псевдонима:
commit () {
echo "What's your commit message?"
read a
git commit -m $a
}
Хотя, даже в этом случае вы не сможете иметь коммиты длиннее строки. Если вы хотите чего-то большего (и рекомендуется это сделать), вам следует открыть редактор с временным файлом и использовать его.
Ответ №3:
Это то, что я лично использую в своем файле .bash_profile:
commit(){
git commit -m "$*"
}
alias gc=commit
Просто и мило.
$ gc This is a really long commit message