私は基本的に、WindowsとLinuxのスクリプトを作成して、サーバーからすべてのgitリポジトリを使用して新しいユーザーワークスペースをセットアップしました。
ユーザーにサーバーのパスワードを一度入力してローカル変数に格納し、その変数を各git pull
コマンドに渡してから、パスワード変数を消去して終了します。
git pull
コマンドがパスワードを要求したときに、どうすればパスワードを入力できますか? WindowsバッチファイルとLinuxシェルスクリプトの両方。
Linuxスクリプトからのコードは次のとおりです。
#!/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 git@<server>:$location.git
git pull Origin master
#Above prompts for password & is where I want to automatically input $pswd
私はSOなどで推奨されているさまざまなことを試してみました。たとえば、パイピング、.txtファイルからの読み取りなどです。古いWindowsのコマンドとLinuxのターミナルコマンド以外は必要ありません。また、このスクリプトはセットアップの目的のため、sshエージェントなどを使用してパスワードを永続的に安全に保存する必要はありません。
私はWindows 7とUbuntu 12.10を実行していますが、このスクリプトは新しいユーザーを設定するためのものなので、ほとんどのディストリビューションで機能するはずです。
私は本当にしないそのパスワードのステップを試して管理し、それを(LinuxとWindowsの両方で)委任するgit資格情報ヘルパー。
見る:
ユーザーは、セッションごとに1回だけパスワードを入力します。
概要:
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スクリプトで機能します
url
からリモートgit
を読み取り、ID
とパスワード(PW
)をurl
に挿入すると機能する場合があります。
たとえば、次のことを試してください。
cd ${REPOSITORY_DIR}
Origin=$(git remote get-url Origin)
Origin_with_pass=${Origin/"//"/"//${USER_ID}:${USER_PW}@"}
git pull ${Origin_with_pass} master