В настоящее время я пытаюсь понять, как использовать GitPython для клонирования удаленного репозитория с ключом SSH с парольной фразой (с использованием Python 3.5.2). Документация не очень помогла в этом отношении:
Вы также можете указать настраиваемые среды для каждого вызова, используя новый контекстный менеджер в команде Git, например. для использования определенного ключа SSH. Следующий пример работает с git, начиная с версии 2.3:
ssh_cmd = 'ssh -i id_deployment_key'
with repo.git.custom_environment(GIT_SSH_COMMAND=ssh_cmd):
repo.remotes.origin.fetch()
Из этого я понял, что я могу загрузить определенный ключ через переменную ssh_cmd, и GitPython загрузит его, но как ввести парольную фразу? Будет ли пользователю предложено? Кроме того, я пытаюсь клонировать с удаленного компьютера, приведенный выше код предполагает, что вы уже это сделали или сначала создали локальный репозиторий? Опять же, не очень понятно, по крайней мере мне.
Возможно ли то, что я пытаюсь сделать, и если да, то можете ли вы привести примеры? Я хотел бы увидеть простой рабочий процесс:
- Клонировать удаленный репозиторий
- Добавьте изменения.
- Совершить.
- Толкать.
Все с ключом SSH, имеющим парольную фразу.
Я также должен упомянуть, что делаю это на машине с Windows 7, с которой pexpect несовместим.
GIT_ASKPASS
. Дополнительную информацию можно найти здесь: git-scm.com/book /en/v2/Git-Internals-Environment-Variables. - person Byron   schedule 13.07.2016GIT_SSH
и настроить ее так, чтобы она предоставляла вам учетные данные. - person Byron   schedule 13.07.2016