git [GitExtension]에 사용자 이름과 비밀번호를 저장하는 방법은 무엇입니까?


1235

매번 프롬프트에 사용자와 비밀번호를 입력하지 않고 GitExtension 에서 자동으로 푸시 앤 풀을 사용하고 싶습니다 .

그렇다면 자격 증명을 git에 어떻게 저장할 수 있습니까?


1
또한 SSH를 통해 인증 할 수 있습니다 : stackoverflow.com/questions/6565357/...
안톤 타라 센코


1
@AntonTarasenko 내 gitconfig는 프록시에 대해 아무 것도 말하지 않습니다. [user] email = email@dummy.com name = uname [credential] helper = store
gc7__

답변:


2197

운영

git config --global credential.helper store

그때

git pull

사용자 이름과 비밀번호를 제공하면 해당 정보가 나중에 기억됩니다. 자격 증명은 디스크 권한으로 "읽기 가능 / 쓰기 가능"이지만 여전히 일반 텍스트로 디스크에 파일로 저장됩니다.

나중에 비밀번호를 변경하려면

git pull

암호가 올바르지 않기 때문에 실패합니다 .git은 ~/.git-credentials파일 에서 문제가되는 사용자 + 암호를 제거 하므로 이제 다시 실행하십시오.

git pull

새 비밀번호를 제공하여 이전과 같이 작동합니다.


6
나중에 비밀번호를 변경하는 데 -u 플래그가 어떻게 중요합니까?
lucidbrot

8
데비안 / 우분투의 경우 libsecret stackoverflow.com/questions/36585496/…을
rofrol

3
@lucidbrot 늦게 답변해서 죄송합니다. git pull -u가 최신 버전에서 작동하지 않습니다. 답변을 업데이트했습니다. 그것이 귀하의 질문에 대답하기를 바랍니다.
Neetika

51
이것은 ~ / .git-credentials의 일반 텍스트 파일에 사용자 이름과 비밀번호를 저장합니다. 누구나 열어서 읽을 수 있습니다.
RoboAlex

12
작동하지 않습니다. 당기지 못했습니다.
Urasquirrel

348

를 사용하여 git configgit에서 자격 증명 저장소를 활성화 할 수 있습니다 .

git config --global credential.helper store

이 명령을 실행할 때 원격 저장소에서 처음으로 당기거나 밀 때 사용자 이름과 비밀번호를 묻는 메시지가 표시됩니다.

이후에 원격 저장소와의 통신을 위해 사용자 이름과 비밀번호를 제공 할 필요가 없습니다.

저장 형식은 .git-credentials일반 텍스트로 저장된 파일입니다.

또한 git config credential.helper메모리 캐시에 다른 도우미를 사용할 수 있습니다 .

git config credential.helper cache <timeout>

timeout parameter자격 증명이 메모리에 보관되는 기간을 결정 하는 선택적이 필요합니다 . 도우미를 사용하면 자격 증명이 디스크를 건드리지 않으며 지정된 시간 초과 후에 지워집니다. default값은900 seconds (15 minutes).


경고 :이 방법을 사용하면 git 계정 비밀번호는 plaintext형식 으로 저장됩니다 global .gitconfig file. 예를 들어 Linux에서는/home/[username]/.gitconfig

이것이 마음에 들지 않으면 ssh key대신 계정에를 사용하십시오.


3
.gitconfig 파일을 보여 주시길 바랍니다-첫 번째 명령이 두 번째 명령으로 덮어 쓰기되었습니다 :(
Adam

3
대한 git config credential.helper cache암호가 파일에 저장되지 않습니다 만 메모리에 저장됩니다. 참조 : git-scm.com/docs/git-credential-cache
SA

1
작동하지 않습니다. 치명적 : 인증 실패 심지어 암호를 요구하지도 않습니다.
Philip Rego

2
부록과 마찬가지로 개인 ssh 키도 사용자가 액세스 할 수있는 위치에 일반 텍스트로 저장되므로 본질적으로 두 경우 모두 동일한 공격 영역이됩니다.
팔코

어떻게 gitlab에 사용할 수 있습니까
anil

170

권장되고 안전한 방법 : SSH

ssh Github 키를 작성하십시오. 이동 github.com -> 설정 -> SSH 및 GPG 키 -> 새 SSH 키. 이제 개인 키를 컴퓨터에 저장하십시오.

그런 다음 개인 키가 ~ / .ssh / 디렉토리에 id_rsa 로 저장되면 인증을 위해 다음과 같이 추가합니다.

ssh-add -K ~/.ssh/id_rsa


보다 안전한 방법 : 캐싱

git-credential-store를 사용하여 일정 기간 동안 사용자 이름과 비밀번호를 캐시 할 수 있습니다. CLI (터미널 또는 명령 프롬프트)에 다음을 입력하기 만하면됩니다.

git config --global credential.helper cache

다음과 같이 시간 초과 기간 (초)을 설정할 수도 있습니다.

git config --global credential.helper 'cache --timeout=3600'


훨씬 덜 안전한 방법

Git-credential-store를 사용할 수도 있지만 다음과 같이 암호를 디스크에 일반 텍스트 파일로 저장합니다.

git config credential.helper store


오래된 답변-빠르고 안전하지 않은

암호를 일반 텍스트로 저장 하는 안전하지 않은 방법입니다. 누군가가 컴퓨터를 제어 할 경우 암호가 노출됩니다!

다음과 같이 사용자 이름과 비밀번호를 설정할 수 있습니다.

git config --global user.name "your username"

git config --global user.password "your password"

15
이것은 나를 위해 작동하지 않았다, git clone은 여전히 ​​사용자 이름과 비밀번호를 요구한다
Oliver

11
"git config --global -l"은 콘솔에서 비밀번호를 공개하기 때문에 이와 같은 비밀번호를 저장하지 않는 것이 좋습니다
CCC

1
이것은 나를 위해 작동하지 않습니다. gitconfig의 사양에 "비밀"에 대한 여지가 없기 때문에 그것이 사람을 위해 일해야한다는 이상하다
해미 토드

.gitconfig는 다른 파일입니다. 홈 폴더에있는 .git-credentials에는 git : // username : password @ server / git / repo와 같이 URL에 사용자 이름 및 비밀번호를 사용하여 repo 할 URL이 포함되어 있습니다. 텍스트 비밀번호. ssh 키를 사용할 수 없으면 "git config --global credential.helper 캐시"를 사용하십시오.
skabbit

사용자와 암호를 수동으로 추가하려고 할 때 구성 파일이 손상되어 저장소를 다시 복제해야했습니다. 이것을 시도하지 마십시오 ..
Letie Techera

102

자격 증명 도우미를 켜서 Git이 한동안 암호를 메모리에 저장합니다.

터미널에 다음을 입력하십시오.

# Set git to use the credential memory cache
git config --global credential.helper cache

기본적으로 Git은 15 분 동안 비밀번호를 캐시합니다.

기본 비밀번호 캐시 제한 시간을 변경하려면 다음을 입력하십시오.

# Set the cache to timeout after 1 hour (setting is in seconds)
git config --global credential.helper 'cache --timeout=3600'

에서 GitHub의 도움말


7
당신은 중요한 글로벌 버전을 제안한 유일한 사람입니다, 내가 repo를 다시 복제 할 때마다 그것이 나를 망쳐 버렸습니다
Xerus

4
시간 초과를 무한대로 설정하는 방법은 무엇입니까? 비밀번호를 다시 입력하고 싶지 않습니다.
Avamander

8
@Avamander는 cache부분을로 바꿉니다 store. 따라서 전체 명령은 다음과 같습니다 git config --global credential.helper store.. 암호를 공개 텍스트 파일 (암호화없이)에 저장합니다.
Aleksandar

2
@Casper 둘 이상의 계정에서 작동하지 않으면 전자 메일을 기반으로 저장소에서 암호를 가져 오지 않고 대신 목록의 첫 번째 암호를 가져옵니다.
Avamander

2
@ Avamander hm .. 그런 것입니까, 아니면 버그일까요? --timeout매개 변수 의 최대 값은 얼마입니까?
Aleksandar

50

자격 증명~/.gitconfig저장 하기 위해 파일을 편집 할 수 있습니다

sudo nano ~/.gitconfig

이미 가지고 있어야

[user]
        email = your@email.com
        user = gitUSER

이 파일의 맨 아래에 추가해야합니다.

[credential]
        helper = store

이 옵션을 권장하는 이유는 전체 옵션이므로 언제든지 이동하고 변경해야하는 옵션을 제거해야합니다.

이 옵션은 개인용 컴퓨터에서만 사용하십시오.

그런 다음 당기면 | 클론 | git password를 입력하십시오. 일반적으로 암호는 ~/.git-credentials다음 형식 으로 저장 됩니다

https://GITUSER:GITPASSWORD@DOMAIN.XXX

DOMAIN.XXX가 GITHUB.COM이 될 수있는 곳 | BITBUCKET.ORG | 다른

문서 참조

터미널을 다시 시작하십시오.


1
git bash 창을 다시 시작하는 것을 잊지 마십시오. 내가 그렇게했을 때만 그것은 나를 위해 일했습니다.
sofs1

33

다음과 같이 자격 증명을 URL에 넣으십시오.

https://Username: Password@github.com/myRepoDir/myRepo.git

다음과 같이 저장할 수 있습니다 .

git remote add myrepo https://Userna...

... 사용 하는 예 :

git push myrepo master


이제 URL 별칭 을 나열 하는 것입니다.

git remote -v

... 그중 하나를 삭제하라는 명령 :

git remote rm myrepo


8
Git이 비밀번호를 요구하지만 사용자 이름이 아닌 비밀번호를 URL에서 그대로 둘 수도 있습니다.
캥거루

HTTP 대신 SSH를 사용하는 것이 훨씬 쉽고 안전합니다. 따라서 Git 비밀번호를 비밀로 유지하고 SSH 키만 사용할 수 있습니다. Git의 SSH에 대한 정보 : help.github.com/en/enterprise/2.16/user/… git@github.com:Username/myRepo.git
Loïch

URL에 비밀번호를 입력하면 비밀번호가 터미널 기록에 저장되므로이 방법은 안전하지 않습니다.
Josh Correia

위키는 현재를 통해 복제 할 수 있다는 것을 참고 https하지, ssh이 같은 솔루션이 유용 할 수 있습니다. 또한 oauth-token을 사용할 수 있으며 GitHub 비밀번호보다 약간 더 안전합니다.
AstroFloyd

31

전역 설정의 경우 터미널을 열고 (어디서나) 다음을 실행하십시오.

  git config --global user.name "your username"
  git config --global user.password "your password"

이를 통해 머신에있는 로컬 git repo가 ​​해당 정보를 사용합니다.

다음을 수행하여 각 저장소에 대해 개별적으로 구성 할 수 있습니다.

  • repo 폴더에서 터미널을 엽니 다.
  • 다음을 실행하십시오.

    git config user.name "your username"
    git config user.password "your password"
    

구성이 로컬이기 때문에 해당 폴더에만 영향을줍니다.


8
간단한 구성 파일에 이러한 자격 증명을 가진 사람이 누구나 볼 수있는 것은 위험하지 않습니까?
bool3max 2016

1
귀하의 질문은 다른 주제에 관한 것이어야합니다. 여기에서는 git 전역 및 로컬에 대한 이름과 비밀번호를 구성하는 방법에 대해 논의합니다.
Tuananhcwrs

입력 친구에게 감사합니다
bool3max

11
응답의 가능한 보안 문제에 대한 질문은 품질과 잠재적으로 수천 명의 사용자가 구현하는 데 직접적인 영향을 미치기 때문에 여기에 자리를 잡고 싶다고 덧붙이고 싶습니다.
Michael Kargl

2
나를 위해 작동하지 않습니다, 추가 --local태그 그러나 다시 아무 일도 발생하지 않습니다
PayamBeirami

23

git-credential-store를 사용하여 파일 시스템의 권한으로 만 보호되는 암호를 디스크에 암호화하지 않은 상태로 저장할 수 있습니다.

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

[several days later]
$ git push http://example.com/repo.git
[your credentials are used automatically]

파일에 저장된 자격 증명을 확인할 수 있습니다 ~/.git-credentials

자세한 내용은 git-credential-store를 방문하십시오 -디스크에 자격 증명을 저장하는 도우미


17

SSH 인증을 사용하면 사용자 이름 / 암호 인증보다 더 안전합니다.

Mac을 사용하는 경우 SSH 클라이언트 인증이 MacOS 키 체인에 통합됩니다. SSH 키를 작성했으면 터미널에 입력하십시오.

ssh-add -K ~/.ssh/id_rsa

그러면 SSH 개인 키가 MacOS 키 체인에 추가됩니다. git 클라이언트는 원격 서버에 연결할 때 ssh를 사용합니다. 서버에 ssh 공개 키를 등록하면 문제가 없습니다.


1
K가 아니어야합니까?
dez93_2000

1
참고 : 저는 Mac에서 작업하고 있습니다. "man"info : "-k"에서 에이전트로 키를로드하거나 키를 삭제할 때 일반 개인 키만 처리하고 인증서를 건너 뛰십시오. "-K"아이덴티티를 추가 할 때 각 비밀번호 문구도 사용자의 키 체인에 저장됩니다. -d를 사용하여 ID를 제거하면 각 암호가 제거됩니다.
Birol Efe

3
https 기반 리포지토리에는이 기능이 없다고 생각합니다.
zakmck

5
이 답변은 비밀번호 (HTTPS 저장소)를 SSH 개인 키와 혼동하는 것으로 보입니다.
스티브 베넷

2
동의하지 않습니다. 호스트에 대한 SSH액세스 권한을 부여하면 더 안전 할 수 없습니다 . HTTP 인증을 사용하면 자격 증명을 도용 한 사람 만에 액세스 할 수 GitHub/GitLab있습니다. 또한 토큰은 수명이 제한되도록 설계되었습니다.
Dimitri Kopriwa

16

이상 진행 후 수십 등 SO 게시물, 블로그,의, 나는 밖으로 시도 모든 방법을, 그리고 이것이 내가 생각 해낸 것입니다. 모든 것을 다룹니다.

바닐라 DevOps Git 자격 증명 및 개인 패키지 치트 시트

이것은 대화식 비밀 번호 프롬프트없이 저장소를 복제하기 위해 git을 안전하게 인증 할 수있는 모든 방법과 도구 입니다.

  • SSH 공개 키
    • SSH_ASKPASS
  • API 액세스 토큰
    • GIT_ASKPASS
    • .gitconfig 대신
    • .gitconfig [인증서]
    • .git 자격 증명
    • .netrc
  • 개인 패키지 (무료)
    • 노드 / npm package.json
    • 파이썬 / 핍 / 계란 요구 사항 .txt
    • 루비 보석 Gemfile
    • golang go.mod

은 총알

Just Works ™를 원하십니까? 이 마법의 총알입니다.

액세스 토큰을 얻으십시오 (Github 또는 Gitea 지침이 필요한 경우 치트 시트 섹션 참조) 및 환경 변수 (로컬 개발 및 배포 모두)로 설정하십시오.

MY_GIT_TOKEN=xxxxxxxxxxxxxxxx

Github의 경우 다음 행을 그대로 복사하여 실행하십시오 .

git config --global url."https://api:$MY_GIT_TOKEN@github.com/".insteadOf "https://github.com/"
git config --global url."https://ssh:$MY_GIT_TOKEN@github.com/".insteadOf "ssh://git@github.com/"
git config --global url."https://git:$MY_GIT_TOKEN@github.com/".insteadOf "git@github.com:"

축하합니다. 이제 https를 사용하든 ssh url 스타일을 사용하든 자동화 된 도구 복제 git 리포지토리가 비밀번호 프롬프트에 의해 방해받지 않습니다.

Github를 사용하지 않습니까?

다른 플랫폼 (Gitea, Github, Bitbucket)의 경우 URL 만 변경하면됩니다. 사용자 이름을 변경하지 마십시오 (임의의 구성 항목에 대해서는 필요하지만 임의 임).

적합성

이것은 MacOS, Linux, Windows (Bash), Docker, CircleCI, Heroku, Akkeris 등에서 로컬로 작동합니다.

더 많은 정보

치트 시트의 ".gitconfig 대신"섹션을 참조하십시오.

보안

치트 시트의 "보안"섹션을 참조하십시오.


2
이것은 생명의 은인입니다. 감사.
annaoomph

2
내가 쫓 git config --global credential."https://somegithost.com".username MyUserName것은 귀하의 치트 시트에 있지만이 답변 스레드의 다른 곳은 아닙니다. 이 특정 솔루션은 OP의 질문에 대답하지 않지만 내 대답에 감사합니다.
TheDudeAbides

1
대단해 !!! 최고의 답변입니다. 감사합니다.
파사

12

이 경우 다음 명령 줄을 사용하여 git 자격 증명 도우미가 GitHub 비밀번호와 사용자 이름을 기억하도록 git에 알려야합니다.

git config --global credential.helper wincred 

SSH 키를 사용하여 저장소를 사용하는 경우 인증하려면 SSH 키가 필요합니다.


11

위의 답변 중 어느 것도 나를 위해 일하지 않았습니다. 내가하고 싶은 다음마다 점점 유지 fetch또는 pull:

Enter passphrase for key '/Users/myusername/.ssh/id_rsa':


Mac 용

다음과 같은 방법으로 비밀번호 문구를 묻는 것을 막을 수있었습니다.

  1. 다음을 실행하여 구성을 엽니 다. vi ~/.ssh/config
  2. 다음을 추가했습니다. UseKeychain yes
  3. 저장 후 종료 : Esc 키 를 누른 다음:wq!

Windows의 경우

이 stackexchange의 정보를 사용하여 작동시킬 수있었습니다 : https://unix.stackexchange.com/a/12201/348665


SSH 프로토콜을 사용하기 때문입니다 (다른 답변은 HTTPS 사용).
mariusm

6

~/.gitconfig파일 을 편집하는 것 외에도 다음과 같은 경우 수행 할 수 있습니다.

git config --local --edit

또는

git config --global --edit

항상 작은 따옴표를 사용하십시오 .

git config --local user.name 'your username'
git config --local user.password 'your password'

또는

git config --global user.name 'your username'
git config --global user.password 'your password'

큰 따옴표를 사용하면 사용자 이름과 비밀번호에 일부 문자를 사용하여 비밀번호를 깨뜨릴 수 있습니다.

--local또는 --global구성 매개 변수가 프로젝트 또는 os 사용자를 위해 저장됨을 의미합니다.


이 확인 하나 더 설명합니다.
prosti

6

그냥 사용

git config --global credential.helper store

git pull을 수행하면 사용자 이름과 비밀번호를 묻습니다. 지금부터는 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되지 않습니다.


4
기본적으로 허용 된 답변을 반복했습니다 .
jsamol

4

.git-credentials에 사용자 이름과 비밀번호 저장

.git-credentials를 실행할 때 사용자 이름과 비밀번호 (액세스 토큰)가 저장 git config --global credential.helper store되는 위치입니다. 이는 다른 답변에서 제안한 내용이며 사용자 이름과 비밀번호 또는 액세스 토큰을 입력하십시오.

https://${username_or_access_token}:${password_or_access_token}@github.com

따라서 사용자 이름과 비밀번호 (액세스 토큰)를 저장하려면 :

git config —-global credential.helper store
echo “https://${username}:${password_or_access_token}@github.com“ > ~/.git-credentials

이것은 github 로봇에 매우 유용합니다. 예를 들어 다른 브랜치에 대한 규칙을 설정 하여 동일한 도커 저장소에서 Chain 자동화 빌드 를 해결 한 다음이를 밀어서 트리거합니다.post_push 도커 허브의 후커에서 .

이에 대한 예제는 여기 에서 확인할 수 있습니다 .


고마워요, 당신은 구세주입니다! 우리는 또한 https를 설정할 수 있습니다 : // $ {access_token은} : $ {access_token은} @ github.com
루카스 멘데스 모타 다 폰세카

1
@LucasMendesMotaDaFonseca 액세스 토큰은 사용자 이름으로 사용할 수 있습니까 ???
JiaHao Xu

3

자식 자격 증명을 캐시하는 빠른 방법 :

git config credential.helper 'cache' --timeout=10800

좋고 안전한

시간 초과는 초입니다.


2

스레드를 완전히 읽고이 질문에 대한 대부분의 답변을 실험 한 후에 결국 나에게 적합한 절차를 찾았습니다. 누군가가 복잡한 유스 케이스를 처리해야하지만 여전히 전체 스레드와 gitcredentials , gitcredentials-store 등 매뉴얼 페이지를 거치고 싶지 않은 경우를 대비하여 공유하고 싶습니다 .

내가 제안하는 절차를 검색 할 경우 (나 같은) 여러 다른 사용자 이름 / 암호 조합을 사용하여 여러 공급자 (GitLab, GitHub의,의 Bitbucket 등)에서 여러 저장소를 처리해야합니다. 대신에 작업을 단 하나의 계정이있는 경우에, 당신은 사용 떨어져 더 좋을 수도 git config --global credential.helper store혹은 git config --global user.name "your username"아주 잘되어 이전 답변에 설명되어있는 등 솔루션을.

내 해결책 :

  1. 이전의 일부 실험에 방해가되는 경우 글로벌 자격 증명 도우미 설정 해제 :)

> git config --global --unset credentials.helper

  1. 리포지토리의 루트 디렉토리로 이동하고 로컬 자격 증명 도우미를 비활성화하십시오 (필요한 경우)

> cd /path/to/my/repo

> git config --unset credential.helper

  1. repo의 자격 증명을 저장할 파일을 만듭니다

> git config credential.helper 'store --file ~/.git_repo_credentials'

참고 :이 명령은 ".git_repo_credentials"라는 새 파일을 홈 디렉토리에 생성합니다. Git은 사용자의 자격 증명을 저장합니다. 파일 이름을 지정하지 않으면 Git은 기본 ".git_credentials"를 사용합니다. 이 경우 단순히 다음 명령을 실행하면됩니다.

> git config credential.helper store

  1. 사용자 이름을 설정하십시오

git config credential.*.username my_user_name

참고 : 리포지토리가 동일한 공급자 (예 : GitLab)의 경우 "*"를 사용하는 것이 좋습니다. 대신 다른 공급자가 리포지토리를 호스팅하는 경우 다음 예제와 같이 모든 리포지토리의 공급자에 대한 링크를 명시 적으로 설정하는 것이 좋습니다 (GitLab의 경우).

git config credential.https://gitlab.com.username my_user_name

이 시점에서 자격 증명이 필요한 명령 (예 git pull:)을 실행하면 "my_user_name"에 해당하는 비밀번호를 묻는 메시지가 표시됩니다. git은 자격 증명을 ".git_repo_credentials"에 저장하고 후속 액세스에서 동일한 데이터를 자동으로 사용하기 때문에 한 번만 필요합니다.


2

Linux Ubuntu의 rifrol의 의견 에서이 답변 에서 Ubuntu의 방법은 다음과 같습니다.

sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

다른 배포판은 바이너리를 제공하므로 빌드 할 필요가 없습니다.

OS X에서는 일반적으로 "osxkeychain"의 기본 모듈과 함께 "빌드"되어 제공되므로 무료로 사용할 수 있습니다.


2

공식 자식 문서를 확인하십시오 :

원격으로 연결하기 위해 SSH 전송을 사용하는 경우 암호없이 키를 사용할 수 있으므로 사용자 이름과 비밀번호를 입력하지 않고 안전하게 데이터를 전송할 수 있습니다. 그러나 이는 HTTP 프로토콜로는 불가능합니다. 모든 연결에는 사용자 이름과 비밀번호가 필요합니다. 암호에 사용하는 토큰이 임의로 생성되고 발음 할 수없는 2 단계 인증 시스템에서는 훨씬 더 어려워집니다.

다행히도, Git에는이를 지원할 수있는 자격 증명 시스템이 있습니다. Git에는 다음과 같은 몇 가지 옵션이 있습니다.

  • 기본값은 전혀 캐시하지 않는 것입니다. 모든 연결은 사용자 이름과 비밀번호를 묻는 메시지를 표시합니다.

  • "캐시"모드는 특정 기간 동안 자격 증명을 메모리에 유지합니다. 암호는 디스크에 저장되지 않으며 15 분 후에 캐시에서 제거됩니다.

  • "저장"모드는 자격 증명을 디스크의 일반 텍스트 파일에 저장하며 만료되지 않습니다. 즉, Git 호스트의 비밀번호를 변경할 때까지 자격 증명을 다시 입력 할 필요가 없습니다. 이 방법의 단점은 암호가 홈 디렉토리의 일반 파일에 일반 텍스트로 저장된다는 것입니다.

  • Mac을 사용하는 경우 Git에는 "osxkeychain"모드가 제공되어 시스템 계정에 연결된 보안 키 체인의 자격 증명을 캐시합니다. 이 방법은 디스크에 자격 증명을 저장하지만 만료되지는 않지만 HTTPS 인증서 및 Safari 자동 채우기를 저장하는 동일한 시스템으로 암호화됩니다.

  • Windows를 사용하는 경우 "Git Credential Manager for Windows"라는 도우미를 설치할 수 있습니다. 이것은 위에서 설명한“osxkeychain”도우미와 비슷하지만 Windows 자격 증명 저장소를 사용하여 중요한 정보를 제어합니다. https://github.com/Microsoft/Git-Credential-Manager-for-Windows 에서 찾을 수 있습니다 .

Git 구성 값을 설정하여 다음 방법 중 하나를 선택할 수 있습니다.

$ git config --global credential.helper cache

$ git config --global credential.helper store

https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.