2014-12-10 8 views
0

То, что я пытался сделать, это сделать GIT псевдоним, так что git heroku Fix that bug будет работать:Git псевдоним, принимая все приведенные аргументы

git add . 
git commit -m "Fix that bug" 
git push heroku master 

Это то, что я пытался до сих пор:

heroku = "!f() { git add .; git commit -m \"[email protected]\"; git push heroku master; }; f" 

, кажется, был наиболее перспективным до сих пор, хотя с этим, если я git heroku test test, он говорит мне, что error: pathspec 'test' did not match any file(s) known to git.

Я также попробовал некоторые другие из них, как !sh -c 'git add ...' -, но это тоже не сработало.

Кто-нибудь знает, как это исправить? (и почему это сообщение происходит)

ответ

0

Я настоятельно рекомендую вам передать сообщение журнала как единое целое, процитировано. Даже если вы могли бы получить путь со списком некотируемых слов в большинстве случаев с помощью

git commit -m "$*" 

в конце концов, вы будет попытаться использовать коммитту как

git heroku Replace * with # 

и вы собираетесь получить список имен файлов в сообщении о фиксации. Просто привыкаешь

git heroku "Replace * with #" 

и определить свой псевдоним в качестве

heroku = '!f() { git add .; git commit -m "$1"; git push heroic master; }; f' 
+0

Хм .. спасибо за ответ, и хорошие моменты. Что делает '$ *'? – pangeacake

+0

Как бы то ни было, '$ *' действительно работал, поэтому спасибо, но я мог бы подумать о том, чтобы сделать одиночную кавычку, это похоже на лучшее решение. Еще раз спасибо, не мог +1, хотя, извините; не хватает репутации – pangeacake