====== git credential ======
* [[:git|git]] credential
* [[https://git-scm.com/docs/gitcredentials|Git - gitcredentials Documentation]]
* [[https://git-scm.com/docs/git-credential|Git - git-credential Documentation]]
* [[https://jlk.fjfi.cvut.cz/arch/manpages/man/gitcredentials.7|gitcredentials(7) — Arch manual pages]]
* [[https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Credential-%EC%A0%80%EC%9E%A5%EC%86%8C|Git - Credential 저장소]] : credential helper 만드는 방법에 대해 매우 잘 설명함
===== http(s) 기반 인증 기본 사용자명 지정 =====
[credential "https://gist.github.com"]
username = <사용자명>
===== Password Cache =====
* HTTP(S) 프로토콜의 경우 명령행에서는 비밀번호 저장해두기가 곤란하다. 그래서 캐시를 사용한다.
* [[http://dogfeet.github.io/articles/2013/git-password-caching.html|Git Password Caching]]
* Linux에서는 다음 처리로 간편하게 캐시가 끝난다.
# 기본 캐시 시간 15분
git config --global credential.helper cache
# 캐시 시간 지정
git config --global credential.helper 'cache --timeout=7200'
==== core.askPass, GIT_ASKPASS, SSH_ASKPASS ====
경고 : [[:intellij_idea|IntelliJ IDEA]]의 경우, 모든 ASKPASS 방식에 대해 오작동하였다. credential helper, SSH Key 를 사용하거나 IntelliJ 내장 해결책을 사용해야만 했다.
* helper 대신 ''core.askPass'', ''GIT_ASKPASS'', ''SSH_ASKPASS''를 사용할수 있다.
* helper 에 비번에 없고 ''core.askPass'', ''GIT_ASKPASS'', ''SSH_ASKPASS''가 존재한다면 순서대로 호출해서 비번을 물어본다.
===== libsecret 기반 gnome-keyring credential =====
* [[https://www.softwaredeveloper.blog/git-credential-storage-libsecret|Libsecret - remember Git credentials in Linux Mint and Ubuntu securely]]
* [[https://stackoverflow.com/a/40312117/1051402|libsecret 기반 git credential]]
* ''gnome-keyring'' 등에 직접 의존하지 않고 중간 단계인 ''libsecret'' 을 거쳐 ''gnome-keyring''을 사용한다.
* [[https://wiki.gnome.org/Projects/Libsecret|Projects/Libsecret - GNOME Wiki!]]
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
===== SSH 인증 저장소 =====
* [[https://www.softwaredeveloper.blog/store-git-ssh-credentials-in-linux|Store Git SSH key pair in Linux with Libsecret to skip asking for credentials]]
===== Password with Gnome-Keyring : Deprecated from 2014 =====
* deprecated.
* 사용하지 말 것. ''libsecret'' 기반으로 ''gnome-keyring''과 연동한다.
* [[http://blog.iqandreas.com/git/storing-https-authentication-in-ubuntu-and-arch-linux/|GIT: Storing HTTPS Authentication in Ubuntu (and Arch Linux) - The Programming Blog of Andreas Renberg (IQAndreas)]]
===== Password with kde =====
* [[linux:kde:kwallet|KDE KWallet]] 확인
===== Windows =====
* [[git:ms_git_credential_manager|Microsoft Git Credential Manager]]
===== 참조 =====
* [[https://git.seveas.net/using-credential-helpers-to-cache-passwords.html|Git Cookbook – Using credential helpers to cache passwords]]
* https://github.com/languitar/pass-git-helper
* [[https://www.baeldung.com/ops/git-configure-credentials|Configuring git Credentials | Baeldung]]