git push 명령의 사용자 이름 및 비밀번호
명령에 사용자 이름과 비밀번호를 지정하여 git 저장소를 복제 할 수 있습니다. 예:
git clone https://username:password@myrepository.biz/file.git
푸시 할 때 사용자 이름과 비밀번호를 지정할 수도 있습니까? 예를 들어 running git push origin --all
은 암호를 묻는 출력을 출력합니다. 나는 이것을 하나의 명령으로 원합니다.
(키 및 기타 솔루션을 설정하는 기능을 알고 있지만 하나의 명령으로 사용자 이름과 암호를 계속 사용할 수있는 방법이 있는지 알고 싶습니다.) Windows 8.1에서 Git Bash를 실행하고 있습니다.
예, 할 수 있습니다
git push https://username:password@myrepository.biz/file.git --all
이 경우 https://username:password@myrepository.biz/file.git
바꾸기 origin
의를git push origin --all
에 대한 더 많은 옵션을 보려면 다음을 git push
시도하십시오.git help push
아래 형식을 사용했습니다.
git push https://username:password@myrepository.biz/file.git --all
암호 또는 사용자 이름에 @가 포함되어 있으면 % 40으로 대체하십시오.
Git 문서 에 따르면 git push
명령 의 마지막 인수는 푸시하려는 저장소가 될 수 있습니다.
git push [--all | --mirror | --tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
[--repo=<repository>] [-f | --force] [--prune] [-v | --verbose] [-u | --set-upstream]
[<repository> [<refspec>…]]
그리고 repository
매개 변수가 될 수 있습니다 URL 또는 원격 이름을 입력합니다.
따라서 clone
명령 예제에서와 동일한 방식으로 사용자 이름과 암호를 지정할 수 있습니다 .
Git은 이와 같은 URL을 사용할 때 비밀번호를 저장하지 않습니다. 대신 사용자 이름 만 저장하므로 다음에 암호를 묻는 메시지 만 표시하면됩니다. 설명서에 설명 된대로 암호를 저장하려면 외부 자격 증명 도우미를 사용해야합니다 . Windows의 경우 Git 용 Windows Credential Store를 사용할 수 있습니다 . 이 도우미는 Windows 용 GitHub 에도 기본적으로 포함되어 있습니다 .
사용시 비밀번호가 자동으로 기억되므로 한 번만 입력하면됩니다. 따라서 복제 할 때 암호를 묻는 메시지가 표시되고 리모컨과의 모든 추가 통신은 암호를 다시 묻지 않습니다. 대신 자격 증명 도우미가 Git에 인증을 제공합니다.
물론 이것은 https를 통한 인증에만 작동합니다. ssh 액세스 ( git@host.com/repository.git
)의 경우 SSH 키와 기억할 수있는 키 ssh-agent
(또는 plink를 사용하는 경우 PuTTY의 호출)를 사용합니다.
가능하지만 git 2.9.3 (2016 년 8 월) 이전 git push
에는 복제 된 저장소로 푸시 백 할 때 사용되는 전체 URL을 인쇄합니다.
여기에는 사용자 이름과 비밀번호가 포함됩니다!
하지만 더 이상은 없습니다 : 커밋 68f3c07 (2016 년 7 월 20 일) 및 Jeff King ( )의 커밋 882d49c (2016 년 7 월 14 일 ) 참조 . (가 합병 - Junio C 하마노 - 에 71076e1 커밋 2016 08 팔월)peff
gitster
push
: 상태 출력에서 URL 익명화47abd85 커밋 (가져 오기 : 저장하기 전에 URL에서 사용자 이름 제거, 2009-04-17, Git 1.6.4) 은 가져 오기를 통해 URL을 익명화하도록 가르쳤습니다.
주된 목적은 병합 커밋 메시지에 암호를 고착시키는 것을 피하는 것이었지만 부작용으로 stderr로 인쇄하는 것도 피합니다.푸시 측에는 병합 커밋 문제가 없지만 stderr에 인쇄하는 것을 피해야합니다 . 동일한 익명화 기능을 재사용 할 수 있습니다.
이것이 표시 되려면 자격 증명이 명령 줄이나 git 구성 파일에 나타나야하며, 어느 쪽도 특히 안전하지 않습니다.
따라서 사람들 은 대신 자격 증명 도우미를 사용하도록 전환 해야 하므로이 문제가 해결됩니다.그러나 어떤 이유로 든 URL에 포함 된 자격 증명을 사용하는 사람들의 상황을 개선하지 않을 이유가 없습니다.
참고 URL : https://stackoverflow.com/questions/29776439/username-and-password-in-command-for-git-push
'developer tip' 카테고리의 다른 글
Python Pandas는 특정 열만 병합합니다. (0) | 2020.10.05 |
---|---|
angularjs e2e 각도기 테스트에서 파일을 업로드하는 방법 (0) | 2020.10.05 |
구조체의 특별한 점은 무엇입니까? (0) | 2020.10.05 |
"and"/ "or"연산자의 이상한 사용 (0) | 2020.10.05 |
Google App Engine에서 JSON을 어떻게 파싱 할 수 있습니까? (0) | 2020.10.05 |