22

特定の SSH キーと一緒に GitPython を使用するにはどうすればよいですか?

ドキュメントは、その件に関してあまり完全ではありません。私がこれまでに試したことは、Repo(path).

4

6 に答える 6

12

以下はすべて、GitPython v0.3.6 以降でのみ機能することに注意してください。

環境変数を使用して、その場所でGIT_SSH呼び出す実行可能ファイルを git に提供できます。sshそうすれば、git が接続を試みるたびに、あらゆる種類の ssh キーを使用できます。

これは、コンテキストマネージャーを使用して呼び出しごとに機能します...

ssh_executable = os.path.join(rw_dir, 'my_ssh_executable.sh')
with repo.git.custom_environment(GIT_SSH=ssh_executable):
    repo.remotes.origin.fetch()

... または、リポジトリのオブジェクトのset_environment(...)メソッドを使用して、より永続的に:Git

old_env = repo.git.update_environment(GIT_SSH=ssh_executable)
# If needed, restore the old environment later
repo.git.update_environment(**old_env)

任意の量の環境変数を設定できるため、いくつかを使用して ssh スクリプトに情報を渡し、目的の ssh キーを選択できるようにすることができます。

この機能 (GitPython v0.3.6 の新機能) の導入に関する詳細については、それぞれの問題を参照してください。

于 2015-02-03T06:12:58.757 に答える