명령에 사용자 이름과 비밀번호를 지정하여 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에 포함 된 자격 증명을 사용하는 사람들의 상황을 개선하지 않을 이유가 없습니다.
답변
특수 문자가있는 비밀번호에 문제가있는 사람은 비밀번호를 생략하면 다음과 같은 메시지가 표시됩니다.
git push https://YOUR_GIT_USERNAME@github.com/YOUR_GIT_USERNAME/yourGitFileName.git