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

관련 정보