Git에 사용자 이름과 비밀번호를 저장하는 방법은 무엇인가요?
매번 프롬프트에 사용자 및 비밀번호를 입력하지 않고 GitExtension에서 자동으로 푸시 앤 풀을 사용하고 싶습니다.
그렇다면 GIT에 자격 증명을 저장하려면 어떻게 해야 하나요?
880
16
매번 프롬프트에 사용자 및 비밀번호를 입력하지 않고 GitExtension에서 자동으로 푸시 앤 풀을 사용하고 싶습니다.
그렇다면 GIT에 자격 증명을 저장하려면 어떻게 해야 하나요?
실행
then
에 사용자 이름과 비밀번호를 입력하면 해당 세부 정보가 나중에 기억됩니다. 자격 증명은 디스크의 파일에 저장되며, 디스크 권한은 '사용자만 읽기/쓰기 가능'이지만 여전히 일반 텍스트로 저장됩니다.
나중에 비밀번호를 변경하려는 경우
암호가 잘못되었으므로 실패합니다. 그러면 git이
~/.git-credentials
파일에서 문제가 있는 사용자+비밀번호를 제거하므로 이제 다시 실행합니다.을 다시 실행하여 새 비밀번호를 입력하면 이전과 같이 작동한다.
'git config'를 사용하여 자격 증명을 git에 저장하도록 설정할 수 있습니다.
이 명령을 실행하면 원격 리포지토리에서 처음 풀 또는 푸시할 때 사용자 이름과 비밀번호를 묻는 메시지가 표시됩니다.
그 후에는 원격 리포지토리와의 후속 통신을 위해 사용자 이름과 비밀번호를 제공할 필요가 없습니다.
저장 형식은 일반 텍스트로 저장되는 '.git-credentials' 파일입니다.
또한 다른 헬퍼, 즉 메모리 캐시를
git config credential.helper
에 사용할 수 있습니다:이는 선택적
타임아웃 매개변수
를 사용합니다, 자격 증명을 메모리에 얼마나 오래 보관할지 결정합니다. 도우미를 사용하면 자격 증명이 디스크에 절대 닿지 않으며 지정된 시간 제한이 지나면 지워집니다. 기본값은
900초(15분)`입니다.경고 : 이 방법을 사용하면 git 계정 비밀번호가
일반 텍스트
형식의글로벌 .gitconfig 파일
에 저장됩니다(예: Linux에서는/home/[username]/.gitconfig
).이 방식이 마음에 들지 않으면 대신 계정에
ssh 키
를 사용하세요.이 같은 사용자 이름과 암호를 설정할 수 있습니다.
자격 증명 도우미를 켜서 Git이 일정 기간 동안 비밀번호를 메모리에 저장하도록 합니다:
터미널에 다음을 입력한다:
기본적으로 Git은 15분 동안 비밀번호를 캐시합니다.
기본 비밀번호 캐시 시간 제한을 변경하려면 다음을 입력하세요:
GitHub 도움말]1에서
이미 하는
이 파일의 맨 아래에 추가해야 합니다.
이 옵션은 추천합니까 이유는 것은 글로벌 및 언제라도 발생할 수 있는 옵션이 제거하시겠습니까 가서 바꾸라고요 위치를 알고 있어야 합니다.
일반적으로 암호를 입력할 때 단순화표현 클론할 당기십시오 너회가 git 임호를 '~' 형식으로 /.git-credentials 저장됩니다.
[Docs] 참조 (https://git-scm.com/docs/git-credential-store)
Restart 너회의 terminal.
터미널 () 의 모든 어디서) 의 글로벌 설정, 오픈 실행하십시오 다음과 같습니다.
깃 (git), 로컬 컴퓨터에 있는 모든 것을 가지고 있는지 리포 정보를 사용합니다.
각 리포 수행여 구성용 개별적으로 수 있습니다.
git 구성용 user.name " 그러하매 너희의 username". git 구성용 우저드패스워드 " 그러하매 너희의 password".
해당 폴더 (같도다라고 구성이 로컬) 의 영향을 줍니다.
그냥 좋아하는 크레덴셜이 Url 에 다음과 같습니다.
>. 'github.com/myRepoDir/myRepo.git' '암호' '' https://Username : @
>. 깃 (git) '' 원격 추가 미르네브 https://userna.
>. git push 미르네브 '마스터'
깃 (git) 원격 - 'v'
그 중 1 명은 삭제하시겠습니까 .and 명령:
깃 (git) '' 원격 rm 미르네브
저장하였습니다 암호가 암호화되지 않은 git 자격증명이 작성하든지 사용할 수 있습니다, 권한 의해서만 금지되었는지 디스크의 파일 시스템.
'~' 에 저장된 파일을 /.git-credentials 증명방식 확인할 수 있습니다
자세한 정보 dell. git 자격증명이 작성하든지 - 도우미 저장하였습니다 크레덴셜이 디스크에
Ssh 인증 인증 사용자 이름과 암호를 사용하는 경우 보다 더 안전한 될 수 있습니다.
사용하는 경우, Mac, SSH 클라이언트 인증이 통합되므로 MacOS 키홀더. 한 번 생성했는지 주요 mm_mail_doc. 를 ssh 터미널:
그러면 이 열쇠고리는 SSH 개인 키를 MacOS. 깃 클라이언트는 ssh 를 사용하여 원격 서버에 연결할 때. 등록한 deltamove 너회의 ssh 공개 키 서버와 you will be fine.
깃 (git) 하는 경우 알 수 있는 깃 (git) 를 사용하여 다음과 같은 암호 및 sername 크레덴셜 도우미 기억나지 깃허브 명령줄이:
그리고 SSH 키를 사용하는 경우 주요 단순화표현 인증하십시오 SSH 를 사용하여 리포 합니다.
어떤 답을 그들위에 협력했습니다 for me. 난 계속 얻을 때마다 '다음' 또는 '당기십시오 페치할 싶었다':
, # 39, & # 39 /Users/myusername/.ssh/id_rsa& 입력하십시오. 대한 패스프레이즈를 키 '.'
난 내 에서 고만하세요 수 있었다는 것을 패스프레이즈 기준:
내가 이 스타케스창레 사용하여 작업할 수 있는 정보 이해했소 수 있었습니다. https://unix.stackexchange.com/a/12201/348665
그렇게 난 후, 글, 블로그 등 수십 명이 넘어 시험해 모든 방법, 이것이 내가 지었지. 이 문서에서는 전지전능하시니라
[바닐라 데브옵스 Git 이 증명방식 &. 개인 패키지 컨닝 지] (https://coolaj86.com/articles/vanilla-devops-git-credentials-cheatsheet/)
이들은 모두 안전하게 사용할 수 있습니다, 그 방법과 툴과도 클론할 상호대화식 암호 입력 없이 인증하려고 git 리포지토리를 .
공개 키 (ssh)
은 글머리표
그냥 스맥랜드의 Works™? This is the magic 실버 글머리표.
전달하십시오 액세스 토큰 (자세한 내용은 섹션의 컨닝 지 하는 경우, 이를 위한 지침을 깃허브 또는 기테) 환경 변수를 설정하고 그 (모두 지역 개발 및 배포):
"'배시 스스스스스스스스 my_git_token = "'
깃허브, 복사 및 실행하십시오 대한 이러한 흐름선 verbatim :
"'배시 글로벌 url." https://api: $ my_git_token@github.com/" 콜린스테드로프 ", https://github.com/, git 구성용 "; 깃 (git) 을 구성,, - 글로벌 url." my_git_token@github.com/" 콜린스테드로프 " ssh://git@github.com/" https://ssh: $ 깃 (git) 을 구성,, - 글로벌 url." https://git: $ my_git_token@github.com/" 콜린스테드로프 " :" git@github.com "'
39, git, 이제 모든 오토메이티드 도구에서는 클론한 won& 리포지토리를 입대를 환영한다 t be 방해 또는 스타일, https 를 사용하여 표시할지를 암호로 프롬프트합니다 ssh uirl.
다른 플랫폼 (기테, 깃허브, 비트포켓), 그냥 변경하십시오 uirl. # 39, t 변경하십시오 don& 사용자 이름 (단, 다른 사람들이 보면 they& # 39 필요한 구성 항목).
이 기능은 Windows, Linux, MacOS 에서 로칼에서 (bash), 부두노동자,, 헤로쿠 시크레치 이케리스 상술합니다.
&Quot 볼 이기트콘피그 insteadOf"; 부분은 컨닝 지.
&Quot 볼 Security"; 부분은 컨닝 지.
이와는 별도로 편집하기를 /.gitconfig ',' ~ 할 수 있는 파일 묻는:
또는
Quote 항상 flfile. 단일 참고:
또는
일부 문자는 사용자 이름과 암호를 사용하는 경우 분할합니다 큰따옴표 암호를 사용할 수 있다고 말했다.
'또는' 구성 '는' 로컬 글로벌 프로젝트의 os 에 대한 사용자 또는 params 저장됩니다.
[답변] 에 의해, 이를 통해 Linux Ubuntu 에서 리프롤 셀명 1:
일부 다른 distro& # 39 의 바이너리 제공하십시오 don& it 환경을 구축할 수 있도록 # 39, 없다.
일반적으로, OS X 의 완료되니라 " built". 기본 모듈을 통해 " osxkeychain"; 그래서 확보하십시오 무료입니다.
작성하든지 사용자 이름과 암호를 .git-credentials
'' 때 'git 사용자 이름과 암호를 대화상자에서는 .git-credentials 저장되어 있는 다른 어떤 답을 실행하십시오 구성용 -' 글로벌 크레덴시알.헬퍼 작성하든지 제안하세요 후 사용자 이름과 암호를 입력:
"' sername} {} {password_or_access_token @github.com https:// $. $ "'
따라서 줄이기 위해 사용자 이름과 암호:
"' git 글로벌 크레덴시알.헬퍼 작성하든지 구성용 - echo "$. $ {}} {sername https:// password_or_access_token @github.com" >. /.git-credentials ~ "'
이 매우 유용하지만, 예를 들어, 깃허브 로봇이잖아 해결하십시오 [체인 오토메이티드 는 동일한 부두노동자 리포지토리를] (https://stackoverflow.com/questions/36948145/chain-automated-builds-in-the-same-docker-hub-repository) 에서 이를 수 있으므로 이 후 다른 규칙 '에' 후커 분기로의 트리거할 푸시하여 post_push 부두노동자 결정했다.
이 예로 볼 수 있다 [here] (https://stackoverflow.com/a/57534431/8375400) 에서 스택 오버플로.
됩니다
이 git pull< /i>;;; i> < 할 것을 요청합니다 사용자 이름과 암호를 제공하지 않을 것이라고, 지금부터 사용자 이름과 암호를 묻는 detaiils 저장할 방침이다.