Я использую функцию для удобства. Это работает для моего стиля кодирования, что для меня означает всегда работать в чистой директории в корне репо и получать доступ ко всем файлам с относительным путем. YMMV.
qp() {
[[ -z "$1" ]] && echo "Please enter a commit message:";
typeset msg="$( [[ -n "$1" ]] && echo "$*" || echo $(head -1) )";
date;
git pull;
git add .;
git commit -m "$msg";
git push;
date
}
Назовите это как -
qp add a commit message
Обратите внимание, что он объединяет все аргументы в один msg
и, если он не получает ни одного, запрашивает один.
$: qp
Please enter a commit message:
foo bar baz
Tue, Mar 19, 2019 3:25:24 PM
Already up-to-date.
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
Everything up-to-date
Tue, Mar 19, 2019 3:25:31 PM
То, что вы просили:
Перепишите его, чтобы взять список файлов и всегда запрашивать сообщение, например:
qp() {
echo "Please enter a commit message:";
typeset msg="$( head -1 )";
date;
git pull;
git add "$@";
git commit -m "$msg";
git push;
date
}
Вы можете просто поместить код функции в скрипт с или без функции, как вам нравится.
Затем запустите его как
qp file1 file2 fileN
и он запросит сообщение о коммите - ИЛИ сделайте первый аргумент сообщением о коммите, например:
qp() {
typeset msg="$1";
shift;
date;
git pull;
git add "$@";
git commit -m "$msg";
git push;
date
}
Просто убедитесь, что вы "цитируете" этот первый аргумент сообщения коммита. ;)
qp "here's my commit message" file1 file2 fileN