Git-коммит с использованием stdout из bash?

Git-коммит с использованием stdout из bash?

Можно ли использовать сообщение о коммите из stdout, например:

echo "Test commit" | git commit -

Попробовал также вывести содержимое сообщения в .git/COMMIT_EDITMSG, но затем при запуске git commitпотребовалось внести изменения в указанный файл.

решение1

Вы можете воспользоваться этой -F <file>, --file=<file>опцией.

echo "Test commit" | git commit -F -

Его использование описано на странице руководства git commit:

Возьмите сообщение о коммите из указанного файла. Используйте -, чтобы прочитать сообщение из стандартного ввода.

решение2

Вы всегда можете написать для этого небольшую функцию:

gcm(){ 
    read message
    git commit -m "$message" "$@"
}

Добавьте это в свою ~/.bashrcоболочку или ее эквивалент, а затем выполните:

echo "Test commit" | gcm filename.to.commit

Команда выше будет запущена

git commit -m "Test commit" filename.to.commit

Связанный контент