Python:GIT以编程方式提交

Python:GIT以编程方式提交,python,django,git,Python,Django,Git,我尝试在Python/Django中以编程方式进行git提交。我遇到的问题是命令的语法。提交的消息是一个变量,可能包含多个单词。所以,我试着这样做: command('git commit -m "%s"'%msg) # command is a custom function that calls # system Popen function 如果我随后向位于github的远程存储库发出push命令,那么首先我看到的是,

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

command('git commit -m "%s"'%msg) # command is a custom function that calls 
                                  # system Popen function
如果我随后向位于
github
的远程存储库发出
push
命令,那么首先我看到的是,提交消息用双引号括起来,如“Test”,另一个问题是,如果消息包含两个或多个单词,如“Test message”,那么它甚至不会执行。换句话说,在这样的情况下

msg = "Test message"
command('git commit -m "%s"'%msg)

什么也没发生。

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

如果什么也没有发生,可能需要先添加更改的文件

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])

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

如果什么也没有发生,可能需要先添加更改的文件

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])

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

如果什么也没有发生,可能需要先添加更改的文件

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])

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

如果什么也没有发生,可能需要先添加更改的文件

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])

你为什么要写一个新的包装?现在已经有了gitpython。首先,我不需要庞然大物,我只需要在我的应用程序中使用几个最简单的命令。此外,当我测试gittle和gitpython时,我遇到了很多问题,比如获取修改文件列表等。这是你的问题,而不是gitpython的问题。例如,在gittle中,我使用命令repo.modified_files(可能我做了一些错误的事情,但我仍然存在这个问题)而不是修改文件列表,在gitpython中,我甚至没有看到列出修改过的文件的命令。我知道一些关于差异的东西,但我觉得这看起来很糟糕。你为什么要写一个新的包装?现在已经有了gitpython。首先,我不需要庞然大物,我只需要在我的应用程序中使用几个最简单的命令。此外,当我测试gittle和gitpython时,我遇到了很多问题,比如获取修改文件列表等。这是你的问题,而不是gitpython的问题。例如,在gittle中,我使用命令repo.modified_files(可能我做了一些错误的事情,但我仍然存在这个问题)而不是修改文件列表,在gitpython中,我甚至没有看到列出修改过的文件的命令。我知道一些关于差异的东西,但我觉得这看起来很糟糕。你为什么要写一个新的包装?现在已经有了gitpython。首先,我不需要庞然大物,我只需要在我的应用程序中使用几个最简单的命令。此外,当我测试gittle和gitpython时,我遇到了很多问题,比如获取修改文件列表等。这是你的问题,而不是gitpython的问题。例如,在gittle中,我使用命令repo.modified_files(可能我做了一些错误的事情,但我仍然存在这个问题)而不是修改文件列表,在gitpython中,我甚至没有看到列出修改过的文件的命令。我知道一些关于差异的东西,但我觉得这看起来很糟糕。你为什么要写一个新的包装?现在已经有了gitpython。首先,我不需要庞然大物,我只需要在我的应用程序中使用几个最简单的命令。此外,当我测试gittle和gitpython时,我遇到了很多问题,比如获取修改文件列表等。这是你的问题,而不是gitpython的问题。例如,在gittle中,我使用命令repo.modified_files(可能我做了一些错误的事情,但我仍然存在这个问题)而不是修改文件列表,在gitpython中,我甚至没有看到列出修改过的文件的命令。我知道一些关于差异的事情,但我觉得这看起来很糟糕。