Почему мои аргументы сценария удара вызывают ошибку?

Для создания загружения кода на GitHub легко, я создал sh сценарий

#commit.sh
git add .
git commit -m $1
git push origin master

Но когда я выполняю его путем высказывания ./commit.sh "comment1 comment2 comment3" , Я получаю ошибку:

error: pathspec 'comment2' did not match any file(s) known to git.
error: pathspec 'comment3' did not match any file(s) known to git.

Что случилось и как я заставляю его работать?

5
задан 11 March 2013 в 19:47

2 ответа

Всегда указывайте свои переменные! Измените его на

git commit -m "$1"

, а затем

./commit.sh "comment1 comment2 comment3"

будет работать.

0
ответ дан 11 March 2013 в 19:47

Вы могли объединить несколько команд в одной строке.

git add . && git commit -m "Your commit message" && git push origin master

который является хорошей строкой для использования в качестве команды:

gitpush()
{
git add . && git commit -m "$1" && git push origin master
}

Если Вы помещаете ту команду в Ваш .bash_aliases файл, можно использовать его следующим образом:

gitpush "finally fixed that long-standing bug"

Эта команда будет работать, когда каждый шаг ее будет работать.

3
ответ дан 11 March 2013 в 19:47

Другие вопросы по тегам:

Похожие вопросы: