git pull 비밀번호로 명령어를 입력하는 방법은?
다음 명령어를 한 줄로 수행합니다.
git pull && [my passphrase]
어떻게 하는 거야?
이것은 요청하신 것과 완전히 다릅니다만, http의 경우는 다음과 같습니다.
- 패스워드는 .netrc 파일에 넣을 수 있습니다(Windows의 경우 _netrc).거기서부터 자동으로 픽업됩니다.600개의 권한을 가진 홈 폴더로 이동합니다.
- 레포(repo)를 복제하여
https://user:pass@domain/repo
하지만 사용자/패스 정보가 여러 곳에 표시되므로 권장하지 않습니다. - 새로운 옵션은 credential 도우미를 사용하는 것입니다.credential은 표준 credential 도우미를 사용하여 로컬Configuration에 클리어 텍스트로 저장됩니다.wincred가 있는 credential-helper도 윈도 상에서 사용할 수 있습니다.
credential 도우미의 사용 예
git config credential.helper store
- 자격 증명을 무기한 저장합니다.git config credential.helper 'cache --timeout=3600'
- 60분 동안 보관
ssh 기반 액세스의 경우 필요에 따라 ssh 키를 제공하는 ssh 에이전트를 사용합니다.이를 수행하려면 컴퓨터에서 키를 생성하고 원격 서버에 공용 키를 저장한 후 관련 키 저장소에 개인 키를 추가해야 합니다.
명령줄에서 https 연결을 위한 자격 증명을 제공하는 방법을 찾았습니다.git 풀의 완전한 URL을 지정하고, 거기에 credential을 포함하면 됩니다.
git pull https://username:password@mygithost.com/my/repository
이전에 자격 증명을 사용하여 저장소를 복제할 필요가 없습니다. 즉, 자격 증명은 다음과 같습니다..git/config
(단, 셸이 사용자를 배신하지 않도록 하고 명령줄을 이력 파일에 저장하십시오.)
패스워드에 @ 가 없는 경우는, 다음의 cmd 가 동작합니다.git pull https://username:pass@word@mygithost.com/my/repository
패스워드에 @ 가 설정되어 있는 경우는, 아래와 같이 %40 으로 치환해 주세요.git pull https://username:pass%40word@mygithost.com/my/repository
credentials helper 명령줄 옵션 사용:
git -c credential.helper='!f() { echo "password=mysecretpassword"; }; f' fetch origin
Gitlab 액세스 토큰을 사용하게 되었기 때문에 Github 액세스 토큰을 필요로 하는 사람도 있을 수 있지만, 이 질문에 대한 답변을 제공했습니다.
SSH를 사용하고 싶은데, 그것을 막는 gitlab 버그가 있습니다.비밀번호를 .netrc 또는 URL에 입력하는 것은 이상적이지 않습니다.credential 매니저는 서버를 재부팅할 때 재시작해야 합니다.이것은 이상적이지 않습니다.
따라서 다음과 같이 사용할 수 있는 액세스 토큰을 선택했습니다.git clone https://<username>:<accessToken>@gitlab.com/ownerName/projectName.git
액세스 토큰은 URL과 함께 저장되므로 안전하지 않지만 username: password를 사용하는 것보다 안전합니다.접근 토큰은 특정 조작으로 제한될 수 있으며 쉽게 해지될 수 있기 때문입니다.
일단 복제되면(또는 URL이 수동으로 업데이트되면), 모든 git 요청은 URL에 저장되므로 액세스 토큰을 사용합니다.
다음 명령어는 이미 복제한 repo를 갱신하는 경우에 도움이 될 수 있습니다.
git remote show origin
git remote remove origin
git remote add origin https://<username>:<accessToken>@gitlab.com/ownerName/projectName.git
편집: 아래의 코멘트를 확인해 주세요.나는 2개의 중요한 메모를 추가했다.
Google & stackoverflow를 검색해도 질문에 대한 답을 찾지 못했기 때문에, 여기서 해결책을 공유하겠습니다.
git config --global credential.helper "/bin/bash /git_creds.sh"
echo '#!/bin/bash' > /git_creds.sh
echo "sleep 1" >> /git_creds.sh
echo "echo username=$SERVICE_USER" >> /git_creds.sh
echo "echo password=$SERVICE_PASS" >> /git_creds.sh
# to test it
git clone https://my-scm-provider.com/project.git
저도 Windows를 위해서 했어요.풀답변은 이쪽
Git 2.5+(2014년 2분기)에서는 Git credential helper가 암호화되지 않은 비밀번호 변경을 저장하는 방법에 유의하십시오.
Junio C Hamano (gitster
)의 commit 17c7f4d 참조
credential-xdg
플플샘"" twe 。
store
XDG 컨피규레이션파일 로케이션을 지정했을 경우에 대응하는 credential 도우미의 백엔드.
이제 의사가 말합니다.
지정되지 않은 경우:
- 됩니다.
~/.git-credentials
★★★★★★★★★★★★★★★★★」$XDG_CONFIG_HOME/git/credentials
, , , , 입니다.- 이
~/.git-credentials
, 「」를 참조해 주세요.$XDG_CONFIG_HOME/git/credentials
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
GitlabGitlab)의(Gitlab)로 는, 「Gitlab」CI/CD」를 참조해 .gitlab-ci.yml
)ㄹ 수 .
git pull $CI_REPOSITORY_URL
다음과 같은 결과가 됩니다.
git pull https://gitlab-ci-token:[MASKED]@gitlab.com/gitlab-examples/ci-debug-trace.gi
또한 사용하는 토큰은 임시/작업별 토큰이므로 이 방법을 사용하면 보안 취약점이 크게 줄어듭니다.
간단하게 다음과 같이 할 수 있습니다.
eval $(ssh-agent -s)
echo "password" | ssh-add ~/.ssh/id_rsa
git pull origin master
언급URL : https://stackoverflow.com/questions/11506124/how-to-enter-command-with-password-for-git-pull
'sourcetip' 카테고리의 다른 글
"경고: iPhone 앱에는 빌드 구성이 설정되어 있어도 armv6 아키텍처가 포함되어 있어야 합니다. (0) | 2023.04.18 |
---|---|
SQL Server에서는 언제 GO를 사용해야 하며 언제 semi-colon을 사용해야 합니까? (0) | 2023.04.18 |
UIView 및 iPhone UILabel의 그라데이션 (0) | 2023.04.18 |
Excel VBA 코드: x64 버전에서의 컴파일 오류(PtrSafe 속성 필요) (0) | 2023.04.18 |
Bash 스크립트에서 인수를 반복하는 방법 (0) | 2023.04.18 |