2012-02-16 15 views
1

ユーザー名とパスワードを入力せずにgit pullをスクリプトしようとしています。これをどうやってやりますか?私がgitから使用する唯一の機能は "git pull"です。外部ライブラリのないPythonでのgitコマンドのスクリプト

+0

gitでsshキーを使用できます。パスワードを送信するスクリプトを作成しないでください。鍵ベースの認証を設定する場合は、ログインごとに一度ロックを解除するssh鍵リングを使用するか、パスフレーズのない鍵を使用することができます。 – Daenyth

答えて

3

どのようにリモートgitリポジトリに接続していますか? http/httpsエンドポイントを使用している場合は、ユーザ名とパスワードを.netrcファイルに保存する方法についての情報が含まれているthis documentとお読みください。

リモートURLにユーザー名とパスワードを埋め込むこともできます。

オプションがある場合は、ssh(代わりに[email protected]:/path/to/repoのように見えるssh経由でアクセスするリモート)を使用することをお勧めします。その後、ユーザ名とパスワードを必要としないssh鍵ベースの認証を設定することができます。

0

subprocessモジュールを使用すると、gitを外部コマンドとして実行できます。例えば

[remote "origin"] 
url = https://<user>:<pass>@github.com/whatever.git 

:これはあなたの.git/configにあるよう

+0

私はそれを理解していますが、プロンプトを出さないようにコマンドにユーザー名とパスワードを渡すにはどうすればよいですか?セキュリティは問題ではありません。 – lodkkx

+0

.gitconfigで設定してください - http://book.git-scm.com/2_setup_and_initialization.html – snim2

2

は、あなたはそれを行うことができます。

+0

これを複数のワークステーションで使用する場合は、同じキーを追加する必要がありますか?私はセキュリティについて心配していません。 – lodkkx

+0

ユーザー名とパスワードで認証している場合は、通常、どこから接続しているかにかかわらず、同じ資格情報を使用します。一方、sshキーを使用している場合は、各場所で異なるキーを使用することができます(リモート側で許可された公開鍵のリストを制御できると仮定して)。 – larsks

0

シェルからコマンドを実行し、ターミナルから書き込まれた入力を受け取り、その後の出力を取得する場合は、pexpectを使用する必要があります。