私は「git pull」を取得しようとしています。ユーザー名とパスワードを入力します。どのように自動化できますか?
➜ git:(master) git pull
Username for 'http://127.0.0.1': username
Password for 'http://[email protected]': password
これを試しましたが、gitが要求する前にユーザー名が渡されました。
/bin/sh -c 'cd /var/www/ && git pull | echo username | echo password'
答え1
httpsの代わりにSSH経由でアクセスできる場合は、SSHキーを使用できます。
Andrew Piが提案したように、次のURL表記を使用することもできます。
git pull https://username:[email protected]/username/repository.git
ユーザーにパスワードのみを求めるメッセージを表示するように設定することもできます。
git pull https://[email protected]/username/repository.git
答え2
パスワードを設定ファイルに保存し、「source /path-to-config-file」と同じファイルを使用できます。 GIT_USERNAMEとGIT_PASSWORDが変数の場合は、次のようにします。
git clone http://$GIT_USERNAME:$GIT_PASSWORD@some_git_server.com/project.git
以下を使用して出力を確認します。
success=$?
または
echo SUDO_PASSWORD | sudo -S su -c "USERNAME PASSWORD" | git pull; exit"
答え3
あなたは試すことができます
/bin/sh -c 'cd /var/www/ && echo -e "username\npassword" | git pull'
つまり、echo
コマンドをコマンドの前に置きますpull
。これがコマンドecho
に渡される方法です。pull