我的git repo中有一些基本的python脚本。 首先,我在我的仓库中测试了一些git命令:
$ git ls-remote --heads origin master
a5dd03655381fcxxxx4e759ceba7aeb6456 refs/heads/master
现在我想在Python中执行相同的命令:
if subprocess.call(["git", "ls-remote --heads origin master"]):
print("OK")
else:
print("Not OK")
输出结果为:
git: 'ls-remote --heads origin master' is not a git command. See 'git --help'.
OK
我错过了什么?
当我在我的python脚本中执行ls-remote
时,它可以工作:
a5dd03655381fcxxxx4e759ceba7aeb6456 HEAD
a5dd03655381fcxxxx4e759ceba7aeb6456 refs/heads/master
(我知道if语句现在是'错误/无用')。
答案 0 :(得分:4)
您需要将每个参数放在列表中的单独项目中。
import subprocess
if subprocess.call(["git", "ls-remote", "--heads", "origin", "master"]):
print("OK")
else:
print("Not OK")