我尝试在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)
什么都没发生。
答案 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])