나는 "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