将字符串传递给 Invoke

Passing string to Invoke

我正在尝试使用 invoke 来设置基本的 git 例程。我 运行 遇到的问题是我似乎无法调用以将字符串作为参数参数。每次我 运行 代码时都会出错。我确定我错过了一些简单的东西。我 运行正在使用 ZSH。

如有任何帮助,我们将不胜感激!

(stats) bnice5000@Macbook COVID-STATS % invoke push --message='fixed invoke'  
fatal: paths 'invoke ...' with -a does not make sense
(stats) bnice5000@Macbook COVID-STATS % 
from invoke import task
import datetime

foldername = '{:%Y%m%d}'.format(datetime.date.today())
commit_message = '\"Daily push for {0}\"'.format(foldername)

@task
def push(c, tag=False, message=''):
    c.run('git add --all')
    if not message:
        message = commit_message
    c.run('git commit -am {0}'.format(message))
    if tag:
        c.run('git tag {0}'.format(foldername))

    c.run('git push origin master')

首先:你可以用print()代替c.run()看看你用什么命令运行。

您必须在 git commit -am "{0}" 中添加 " ",因为您有 space 的消息。

或者你必须在 ' ' 中使用 " " in --message='"fixed invoke"'