Клонирование репозитория git из git bash с использованием сценария python из командной строки завершается ошибкой. Зачем? - PullRequest
0 голосов
/ 08 июля 2020

git bash внезапно закрывается без клонирования репо. Я не могу понять, что здесь не так.

import os
import subprocess
    
parent_dir = r'C:\Users\user\Documents'
dir_name = 'Git_temp'
dir_path = os.path.join(parent_dir, dir_name)
    
os.mkdir(dir_path)
print("{0} created under {1}".format(dir_name, parent_dir))
os.chdir(dir_path)
print("Current Working Directory : {0}".format(os.getcwd()))
git_file = "C:\Program Files\Git\git-bash.exe"
git_clone_cmd = "git clone https://github.com/patankar-saransh/test_repo.git"
subprocess.Popen([git_file, git_clone_cmd])

1 Ответ

1 голос
/ 09 июля 2020

Если вы не хотите использовать GitPython, просто убедитесь, что git.exe находится в вашем %PATH%.

Тогда ваш вызов будет:

import subprocess
process = subprocess.Popen(["git", "clone", "https://..."], stdout=subprocess.PIPE)
output = process.communicate()[0]

Как здесь , с Python 2.7+, используйте check_output

import subprocess
output = subprocess.check_output(["git",  "clone", "https://..."]])
...