Python:GIT以编程方式提交

时间:2014-11-09 08:08:45

标签: python django git

我尝试在git commits / Python中以编程方式设置Django。我遇到的问题是命令的语法。提交的消息是一个变量,可能包含多个单词。所以,我试着这样做:

command('git commit -m "%s"'%msg) # command is a custom function that calls 
                                  # system Popen function

如果我然后在push向远程存储库发出github命令,那么首先我看到的是,提交消息是双引号,如“Test”,另一个问题是如果a消息包含两个或多个单词,如“测试消息”,然后它甚至没有执行。换句话说,在像

这样的情况下
msg = "Test message"
command('git commit -m "%s"'%msg)

什么都没发生。

1 个答案:

答案 0 :(得分:3)

我也从命令行使用git。我就是这样做的here

import subprocess

def git_commit(message):
    return subprocess.check_output(['git', 'commit',  '-m', message])

如果没有任何反应,可能需要先添加更改的文件。

def git_add(file_path):
    return subprocess.check_output(['git', 'add', file_path])

或者你添加并提交所有。

def git_commit_all(message):
    return subprocess.check_output(['git', 'commit', '-am', message])