2013-01-31 21 views
16

私はWindowsとLinux用のスクリプトを書いて、基本的に私たちのサーバーのすべてのgitリポジトリに新しいユーザーワークスペースを設定しました。git pullコマンドにパスワードを入力する方法は?

サーバのパスワードを一度入力してローカル変数に保存し、その変数を各git pullコマンドに渡してから、パスワード変数を消去して終了します。

git pullコマンドがパスワードを要求するときにパスワードを入力するにはどうすればよいですか? WindowsバッチファイルとLinuxシェルスクリプトの両方私は何を必要としないことを好むなど、私は.txtファイルからの読み込み、など配管ように他の場所に推奨いろいろなことを、試してみた

#!/bin/bash 

echo "Enter password: " 
read pswd 
clear #No screen peaking 

#This is repeated for each repo 
location=folderName 
mkdir $location 
cd $location 
git init 
git remote add origin [email protected]<server>:$location.git 
git pull origin master 
#Above prompts for password & is where I want to automatically input $pswd 

:ここ

は、Linuxスクリプトからのコードです普通の古いウィンドウのcmdとLinuxのターミナルコマンド以上のものです。このスクリプトは設定のためだけのものなので、パスワードをsshエージェントのようなもので安全に永続的に保存する必要はありません。

私はWindows 7とUbuntu 12.10を実行していますが、このスクリプトは新しいユーザーを設定するためのものです。したがって、ほとんどのディストリビューションで理想的に動作するはずです。

答えて

3

私は本当ににない試みをお勧めしますし、そのパスワードのステップを管理し、gitの資格ヘルパーに(LinuxとWindowsの両方で)ことを委任します。
参照:ユーザーはセッションごとに一度だけパスワードを入力します

+3

これも、ユーザーの質問に答えていません。 ITは何か他のものの使用を推奨しています。もちろん、平文でパスワードを開いたままにしておくのは悪いですが、devopの人はSOURCE CONTROLのパスワードを忘れないように教えてくれます。 (あなたがdevopタスクでない限り)あなたはそれを忘れるでしょうから。 –

+1

@Cyber​​Menこのデベロッパーではありません。パスワードはパスワードキーパーアプリケーションに保存されます。 – JamesQMurphy

33

あらすじ:

git pull "https://<username>:<password>@github.com/<github_account>/<repository_name>.git" <branch_name> 

例:

git pull "https://admin:[email protected]/Jet/myProject.git" master 

注:これはbashスクリプトで私の作品

+0

これは本当に受け入れられる答え、@マット – gregoltsov

関連する問題