gitコマンドに答えを渡してください。

gitコマンドに答えを渡してください。

私は「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

関連情報