Bagaimana cara menyimpan nama pengguna dan kata sandi di git [GitExtension]?

1242

Saya ingin menggunakan push dan pull secara otomatis di GitExtension , tanpa memasukkan pengguna dan kata sandi saya di prompt, setiap saat.

Jadi bagaimana saya bisa menyimpan kredensial saya di git?

Edson Cezar
sumber
1
Anda juga dapat mengotentikasi melalui SSH: stackoverflow.com/questions/6565357/…
Anton Tarasenko
1
@AntonTarasenko gitconfig saya tidak mengatakan apa-apa tentang Proxy, hanya [pengguna] email = [email protected] name = uname [kredensial] helper = store
gc7__

Jawaban:

2211

Lari

git config --global credential.helper store

kemudian

git pull

berikan nama pengguna dan kata sandi dan perincian itu akan diingat kemudian. Kredensial disimpan dalam file pada disk, dengan izin disk "hanya dapat dibaca / ditulis pengguna" tetapi masih dalam plaintext.

Jika Anda ingin mengubah kata sandi nanti

git pull

Akan gagal, karena kata sandi salah, git kemudian menghapus kata sandi + pengguna yang menyinggung dari ~/.git-credentialsfile, jadi sekarang jalankan kembali

git pull

untuk memberikan kata sandi baru sehingga berfungsi seperti sebelumnya.

Neetika
sumber
6
bagaimana flag -u penting untuk mengubah kata sandi nanti?
lucidbrot
8
untuk Debian / Ubuntu gunakan libsecret stackoverflow.com/questions/36585496/…
rofrol
3
@ lucidbrot maaf telah membalas terlambat. git pull -u tidak berfungsi dengan versi terbaru. Saya telah memperbarui jawabannya. Semoga ini akan menjawab pertanyaan Anda.
Neetika
51
Perhatikan bahwa ini akan menyimpan nama pengguna dan kata sandi Anda dalam file teks biasa di ~ / .git-kredensial. Siapa pun dapat membukanya dan membacanya.
RoboAlex
12
Ini tidak berhasil. Gagal menarik.
Urasquirrel
350

Anda dapat menggunakan git configuntuk mengaktifkan penyimpanan kredensial di git.

git config --global credential.helper store

Saat menjalankan perintah ini, pertama kali Anda menarik atau mendorong dari repositori jarak jauh, Anda akan ditanya tentang nama pengguna dan kata sandi.

Setelah itu, untuk komunikasi selanjutnya dengan repositori jarak jauh Anda tidak perlu memberikan nama pengguna dan kata sandi.

Format penyimpanan adalah .git-credentialsfile, disimpan dalam plaintext.

Anda juga dapat menggunakan bantuan lain untuk git config credential.helper, yaitu cache memori:

git config credential.helper cache <timeout>

yang membutuhkan opsional timeout parameter, menentukan berapa lama kredensial akan disimpan dalam memori. Menggunakan helper, kredensial tidak akan pernah menyentuh disk dan akan dihapus setelah batas waktu yang ditentukan. The defaultnilainya900 seconds (15 minutes).


PERINGATAN : Jika Anda menggunakan metode ini, kata sandi akun git Anda akan disimpan dalam plaintextformat, diglobal .gitconfig file , misalnya di linux,/home/[username]/.gitconfig

Jika ini tidak diinginkan untuk Anda, gunakan a ssh keyuntuk akun Anda.

Farhad Faghihi
sumber
3
Seandainya Anda menunjukkan file .gitconfig - perintah pertama telah ditimpa oleh yang kedua :(
Adam
3
Untuk git config credential.helper cachekata sandi tidak akan disimpan ke file, hanya disimpan dalam memori. Lihat: git-scm.com/docs/git-credential-cache
SA
1
Tidak bekerja. Berakibat fatal: Otentikasi gagal. Bahkan tidak meminta kata sandi.
Philip Rego
2
Sama seperti tambahan - kunci ssh pribadi Anda juga akan disimpan dalam teks biasa di lokasi yang dapat diakses pengguna, jadi pada dasarnya permukaan serangan yang sama dalam kedua kasus.
Falco
bagaimana saya bisa menggunakan ini untuk gitlab
anil
171

Metode yang Disarankan dan Aman: SSH

Buat kunci Github ssh. Pergi ke github.com -> Pengaturan -> Kunci SSH dan GPG -> Kunci SSH Baru. Sekarang simpan kunci pribadi Anda ke komputer Anda.

Kemudian, jika kunci pribadi disimpan sebagai id_rsa di direktori ~ / .ssh / , kami menambahkannya untuk otentikasi:

ssh-add -K ~/.ssh/id_rsa


Metode yang Lebih Aman: Caching

Kita dapat menggunakan git-credential-store untuk menembolok nama pengguna dan kata sandi kita untuk jangka waktu tertentu. Masukkan saja yang berikut di CLI Anda (terminal atau command prompt):

git config --global credential.helper cache

Anda juga dapat mengatur periode waktu habis (dalam detik) seperti:

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


Metode Yang Kurang Aman

Git-credential-store juga dapat digunakan, tetapi menyimpan kata sandi dalam file teks biasa di disk Anda seperti itu:

git config credential.helper store


Jawaban yang Sudah Kadaluarsa - Cepat dan Tidak Aman

Ini adalah metode penyimpanan kata sandi yang tidak aman dalam teks biasa. Jika seseorang menguasai komputer Anda, kata sandi Anda akan terbuka!

Anda dapat mengatur nama pengguna dan kata sandi Anda seperti ini:

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

git config --global user.password "your password"
Andreas Bigger
sumber
16
Ini tidak berhasil untuk saya, clit git masih meminta nama pengguna dan kata sandi
Oliver
11
saya tidak merekomendasikan menyimpan kata sandi Anda seperti ini karena "git config --global -l" akan mengungkapkan kata sandi Anda di konsol
CCC
1
Ini tidak bekerja untuk saya. Aneh bahwa itu harus bekerja untuk siapa pun, karena dalam spesifikasi gitconfig tidak ada ruang untuk "kata sandi"
Hamish Todd
.gitconfig adalah file yang berbeda: .git-kredensial yang terletak di folder beranda Anda berisi URL untuk repo dengan nama pengguna dan kata sandi Anda di URL, seperti halnya git: // nama pengguna: kata sandi server / git / repo Hati-hati, ITU DISIMPAN PLAIN PASSWORD TEKS. Gunakan "git config --global credential.helper cache" jika Anda tidak dapat menggunakan kunci ssh.
skabbit
Ketika saya mencoba menambahkan pengguna dan kata sandi secara manual, file konfigurasi terputus dan saya harus mengkloning repo lagi. Jangan coba ini ..
Letie Techera
102

Nyalakan bantuan kredensial sehingga Git akan menyimpan kata sandi Anda di memori untuk beberapa waktu:

Di Terminal, masukkan yang berikut ini:

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

Secara default, Git akan men-cache kata sandi Anda selama 15 menit.

Untuk mengubah batas waktu cache kata sandi default, masukkan yang berikut ini:

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

Dari Bantuan GitHub

simhumileco
sumber
7
Anda adalah satu-satunya yang menyarankan versi global yang PENTING, karena sudah rusak bagi saya setiap kali saya mengkloning ulang repo
Xerus
4
Bagaimana cara mengatur batas waktu hingga tak terbatas? Saya tidak pernah ingin memasukkan kata sandi saya lagi.
Avamander
8
@ Avanderander hanya mengganti cachebagian dengan store. Jadi, perintah penuh akan: git config --global credential.helper store. Perhatikan bahwa ini akan menyimpan kata sandi Anda dalam file teks terbuka (tanpa enkripsi apa pun, demikian dikatakan).
Aleksandar
2
@Casper Itu tidak berfungsi dengan lebih dari satu akun, kata sandi tidak diambil dari toko berdasarkan e-mail seperti yang seharusnya, bukan yang pertama dalam daftar diambil.
Avamander
2
@ Avamander hm .. apakah itu seharusnya seperti itu atau itu mungkin bug? Berapa nilai maksimum untuk --timeoutparameter?
Aleksandar
50

Anda dapat mengedit ~/.gitconfigfile untuk menyimpan kredensial Anda

sudo nano ~/.gitconfig

Yang seharusnya sudah

[user]
        email = [email protected]
        user = gitUSER

Anda harus menambahkan di bagian bawah file ini.

[credential]
        helper = store

Alasan saya merekomendasikan opsi ini adalah karena bersifat global dan jika suatu saat Anda harus menghapus opsi, Anda tahu ke mana harus pergi dan mengubahnya.

HANYA GUNAKAN OPSI INI DALAM KOMPUTER PRIBADI ANDA.

Lalu ketika Anda menarik | klon | masukkan kata sandi git Anda, secara umum kata sandi akan disimpan dalam ~/.git-credentialsformat

https://GITUSER:[email protected]

WHERE DOMAIN.XXX BISA MENJADI GITHUB.COM | BITBUCKET.ORG | LAIN

Lihat Documents

Mulai ulang terminal Anda.

T04435
sumber
1
Jangan lupa untuk me-restart jendela git bash. Hanya ketika saya melakukan itu, itu berhasil untuk saya.
sofs1
33

Masukkan kredensial Anda di Url seperti ini:

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

Anda dapat menyimpannya seperti ini:

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

... contoh untuk menggunakannya :

git push myrepo master


Sekarang adalah Daftar alias url:

git remote -v

... dan perintah untuk menghapus salah satunya:

git remote rm myrepo

Nadu
sumber
8
Anda juga dapat membiarkan kata sandi Anda keluar dari URL sehingga Git akan meminta kata sandi Anda, tetapi bukan nama pengguna Anda.
kanguru
Jauh lebih mudah dan aman menggunakan SSH daripada HTTP. Jadi, Anda bisa merahasiakan kata sandi Git Anda dan hanya menggunakan SSH-Key Anda. Informasi tentang SSH di Git: help.github.com/en/enterprise/2.16/user/… [email protected]:Username/myRepo.git
Loïch
Memiliki kata sandi Anda di url akan menyimpannya ke riwayat terminal Anda sehingga cara ini tidak terlalu aman.
Josh Correia
Perhatikan bahwa Wiki saat ini hanya dapat dikloning https, tidak ssh, jadi solusi seperti ini dapat berguna di sana. Perhatikan juga bahwa Anda dapat menggunakan token-oauth, yang sedikit lebih aman daripada kata sandi GitHub Anda.
AstroFloyd
31

Untuk pengaturan global, buka terminal (dari mana saja) jalankan yang berikut:

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

Dengan itu, setiap repo git lokal yang Anda miliki di komputer Anda akan menggunakan informasi itu.

Anda dapat mengkonfigurasi secara individual untuk setiap repo dengan melakukan:

  • buka terminal di folder repo.
  • jalankan yang berikut ini:

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

Hanya memengaruhi folder itu (karena konfigurasi Anda bersifat lokal).

Tuananhcwrs
sumber
8
Bukankah berbahaya memiliki kredensial seperti itu dalam file konfigurasi sederhana yang dapat dilihat oleh siapa pun?
bool3max
1
pertanyaan Anda seharusnya untuk topik lain. Di sini kita membahas tentang cara mengkonfigurasi nama dan kata sandi untuk git global dan lokal.
Tuananhcwrs
Terima kasih atas masukan teman
bool3max
11
Saya hanya ingin menambahkan bahwa bertanya tentang kemungkinan masalah keamanan jawaban ada di sini karena langsung memengaruhi kualitasnya dan berpotensi ribuan pengguna yang menerapkannya.
Michael Kargl
2
tidak bekerja untuk saya, menambahkan --localtag tetapi sekali lagi tidak ada yang terjadi
PayamBeirami
23

Anda dapat menggunakan git-credential-store untuk menyimpan kata sandi Anda yang tidak dienkripsi di disk, hanya dilindungi oleh izin sistem file.

Contoh

$ 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]

Anda dapat memeriksa kredensial yang disimpan dalam file ~/.git-credentials

Untuk info lebih lanjut kunjungi git-credential-store - Membantu menyimpan kredensial pada disk

David Navarro Astudillo
sumber
17

Anda akan lebih aman jika menggunakan otentikasi SSH daripada otentikasi nama pengguna / kata sandi.

Jika Anda menggunakan Mac, otentikasi klien SSH diintegrasikan ke dalam gantungan kunci MacOS. Setelah Anda membuat kunci SSH, ketikkan ke terminal Anda:

ssh-add -K ~/.ssh/id_rsa

Ini akan menambahkan kunci pribadi SSH ke gantungan kunci MacOS. Klien git akan menggunakan ssh ketika terhubung ke server jarak jauh. Selama Anda telah mendaftarkan kunci publik ssh Anda dengan server, Anda akan baik-baik saja.

Birol Efe
sumber
1
harus k bukan K?
dez93_2000
1
FYI: Saya sedang mengerjakan Mac. Karena itu, dari info "man": "-k" Saat memuat kunci ke dalam atau menghapus kunci dari agen, proses hanya kunci privat biasa dan lewati sertifikat. "-K" Saat menambahkan identitas, setiap frasa sandi juga akan disimpan di gantungan kunci pengguna. Saat menghapus identitas dengan -d, setiap frasa sandi akan dihapus dari itu.
Birol Efe
3
Saya tidak berpikir ini berfungsi untuk repositori berbasis https.
zakmck
5
Jawaban ini tampaknya membingungkan kata sandi (repo HTTPS) dengan kunci pribadi SSH.
Steve Bennett
2
Saya tidak setuju. Anda tidak dapat lebih aman dengan memberikan akses ke host SSHakses. Menggunakan otentikasi HTTP, seseorang yang mencuri kredensial hanya akan memiliki akses GitHub/GitLab. Token juga dirancang untuk memiliki kehidupan yang terbatas.
Dimitri Kopriwa
16

Setelah mempelajari puluhan posting SO, blog, dll, saya mencoba setiap metode, dan inilah yang saya temukan. Ini mencakup semuanya.

Lembar Cheat Vanilla DevOps Git Kredensial & Paket Pribadi

Ini semua cara dan alat yang dengannya Anda dapat mengotentikasi git dengan aman untuk mengkloning repositori tanpa prompt kata sandi interaktif .

  • Kunci Publik SSH
    • SSH_ASKPASS
  • Token Akses API
    • GIT_ASKPASS
    • .gitconfig sebagai gantinya
    • .gitconfig [kredensial]
    • .git-kredensial
    • .netrc
  • Paket Pribadi (Gratis)
    • node / npm package.json
    • persyaratan python / pip / telur
    • permata ruby ​​Gemfile
    • golang go.mod

Peluru Perak

Want Just Works ™? Ini adalah peluru perak ajaib.

Dapatkan Token Akses Anda (lihat bagian di lembar contekan jika Anda memerlukan petunjuk Github atau Gitea untuk itu) dan mengaturnya dalam variabel lingkungan (baik untuk pengembang lokal dan penyebaran):

MY_GIT_TOKEN=xxxxxxxxxxxxxxxx

Untuk Github, salin dan jalankan baris ini kata demi kata :

git config --global url."https://api:[email protected]/".insteadOf "https://github.com/"
git config --global url."https://ssh:[email protected]/".insteadOf "ssh://[email protected]/"
git config --global url."https://git:[email protected]/".insteadOf "[email protected]:"

Selamat, sekarang setiap alat kloning git repositori otomatis tidak akan terhalang oleh prompt kata sandi, apakah menggunakan https atau gaya url ssh.

Tidak menggunakan Github?

Untuk platform lain (Gitea, Github, Bitbucket), cukup ubah URL. Jangan mengubah nama pengguna (meskipun sewenang-wenang, mereka diperlukan untuk entri konfigurasi yang berbeda).

Kesesuaian

Ini berfungsi secara lokal di MacOS, Linux, Windows (dalam Bash), Docker, CircleCI, Heroku, Akkeris, dll.

Info lebih lanjut

Lihat bagian ".gitconfig sebagai gantinya" dari lembar contekan.

Keamanan

Lihat bagian "Keamanan" pada lembar contekan.

CoolAJ86
sumber
2
Ini adalah penyelamat. Terima kasih.
annaoomph
2
Yang saya kejar adalah git config --global credential."https://somegithost.com".username MyUserName, yang ada di lembar contekan Anda, tetapi tidak di tempat lain di utas jawaban ini. Solusi khusus itu tidak menjawab pertanyaan OP, tetapi menjawab pertanyaan saya, jadi terima kasih!
TheDudeAbides
1
Ini luar biasa !!! Jawaban terbaik, terima kasih banyak.
Parsa
12

Dalam hal ini Anda perlu bantuan kredensial git untuk memberi tahu git untuk mengingat kata sandi dan nama pengguna GitHub Anda dengan menggunakan baris perintah berikut:

git config --global credential.helper wincred 

dan jika Anda menggunakan repo menggunakan kunci SSH maka Anda perlu kunci SSH untuk otentikasi.

shaw
sumber
11

Tidak ada jawaban di atas yang berfungsi untuk saya. Saya terus mendapatkan yang berikut setiap kali saya ingin fetchatau pull:

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


Untuk Mac

Saya dapat menghentikannya untuk meminta frasa sandi saya dengan:

  1. Buka config dengan menjalankan: vi ~/.ssh/config
  2. Menambahkan yang berikut ini: UseKeychain yes
  3. Disimpan dan keluar: Tekan Esc , lalu masuk:wq!

Untuk Windows

Saya dapat membuatnya berfungsi menggunakan info di stackexchange ini: https://unix.stackexchange.com/a/12201/348665

Gene Parcellano
sumber
itu karena Anda menggunakan protokol SSH (jawaban lain menggunakan HTTPS).
mariusm
6

Selain mengedit ~/.gitconfigfile, itu dapat Anda lakukan jika Anda bertanya:

git config --local --edit

atau

git config --global --edit

Catatan untuk selalu menggunakan kutipan tunggal :

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

atau

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

Nama pengguna dan kata sandi Anda mungkin menggunakan beberapa karakter yang akan merusak kata sandi Anda jika Anda menggunakan tanda kutip ganda.

--localatau --globalberarti params konfigurasi disimpan untuk proyek atau untuk pengguna os.

prosti
sumber
Periksa juga ini salah satu yang menjelaskan bahkan lebih.
prosti
6

gunakan saja

git config --global credential.helper store

dan lakukan git pull , ia akan meminta nama pengguna dan kata sandi, mulai sekarang tidak akan memberikan prompt untuk nama pengguna dan kata sandi itu akan menyimpan rincian

Srikanth Josyula
sumber
4
Anda baru saja mengulangi jawaban yang diterima .
jsamol
4

Simpan nama pengguna dan kata sandi di .git-kredensial

.git-credentialsadalah tempat nama pengguna dan kata sandi Anda (akses token) disimpan saat Anda menjalankan git config --global credential.helper store, yang merupakan jawaban lain yang disarankan, dan kemudian ketik nama pengguna dan kata sandi Anda atau akses token:

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

Jadi, untuk menyimpan nama pengguna dan kata sandi (token akses):

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

Ini sangat berguna untuk robot github, misalnya untuk menyelesaikan pembuatan rantai otomatis di repositori buruh pelabuhan yang sama dengan memiliki aturan untuk cabang yang berbeda dan kemudian memicunya dengan mendorongnya ke dalampost_push hooker di hub docker.

Contoh dari ini dapat dilihat di sini di stackoverflow.

JiaHao Xu
sumber
Terima kasih, Anda penyelamat hidup! Kita juga dapat mengatur https: // $ {access_token}: $ {access_token} @ github.com
Lucas Mendes Mota Da Fonseca
1
Token akses @LucasMendesMotaDaFonseca dapat digunakan sebagai nama pengguna ???
JiaHao Xu
3

Cara cepat untuk menembolok kredensial git:

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

bagus dan aman

batas waktu dalam detik.

Amin Shojaei
sumber
2

Setelah membaca utas sepenuhnya dan bereksperimen dengan sebagian besar jawaban untuk pertanyaan ini, saya akhirnya menemukan prosedur yang cocok untuk saya. Saya ingin membaginya jika seseorang harus berurusan dengan kasus penggunaan yang kompleks tetapi masih tidak ingin melalui thread penuh dan gitcredentials , gitcredentials-store dll halaman manual, seperti yang saya lakukan.

Temukan di bawah prosedur yang saya sarankan JIKA Anda (seperti saya) harus berurusan dengan beberapa repositori dari beberapa penyedia (GitLab, GitHub, Bitbucket, dll.) Menggunakan beberapa kombinasi nama pengguna / kata sandi. Jika Anda hanya memiliki satu akun untuk bekerja, maka Anda mungkin lebih baik menggunakan git config --global credential.helper storeataugit config --global user.name "your username" dll solusi yang sudah sangat baik dijelaskan dalam jawaban sebelumnya.

Solusi saya:

  1. setel pembantu kredensial global yang tidak disetel, seandainya beberapa eksperimen terdahulu menghalangi :)

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

  1. pindah ke direktori root repo Anda dan nonaktifkan pembantu kredensial lokal (jika perlu)

> cd /path/to/my/repo

> git config --unset credential.helper

  1. buat file untuk menyimpan kredensial repo Anda

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

Catatan : perintah ini membuat file baru bernama ".git_repo_credentials" ke direktori home Anda, tempat Git menyimpan kredensial Anda. Jika Anda tidak menentukan nama file, Git menggunakan default ".git_credentials". Dalam hal ini hanya mengeluarkan perintah berikut akan dilakukan:

> git config credential.helper store

  1. atur nama pengguna Anda

git config credential.*.username my_user_name

Catatan : menggunakan "*" biasanya ok jika repositori Anda berasal dari penyedia yang sama (mis. GitLab). Jika sebaliknya repositori Anda di-host oleh penyedia yang berbeda maka saya sarankan untuk secara eksplisit mengatur tautan ke penyedia untuk setiap repositori, seperti dalam contoh berikut (untuk GitLab):

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

Pada titik ini jika Anda mengeluarkan perintah yang memerlukan kredensial Anda (mis. git pull) Anda akan dimintai kata sandi yang terkait dengan "my_user_name". Ini hanya diperlukan satu kali karena git menyimpan kredensial ke ".git_repo_credentials" dan secara otomatis menggunakan data yang sama pada akses selanjutnya.

Sal Borrelli
sumber
2

Dari komentar oleh rifrol, di Linux Ubuntu, dari jawaban ini , begini caranya di 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

Beberapa distro lain menyediakan biner sehingga Anda tidak perlu membangunnya.

Di OS X biasanya datang "dibangun" dengan modul default "osxkeychain" sehingga Anda mendapatkannya secara gratis.

rogerdpack
sumber
2

Periksa dokumentasi resmi git:

Jika Anda menggunakan transportasi SSH untuk menghubungkan ke remote, Anda dapat memiliki kunci tanpa frasa sandi, yang memungkinkan Anda untuk mentransfer data dengan aman tanpa mengetikkan nama pengguna dan kata sandi Anda. Namun, ini tidak mungkin dilakukan dengan protokol HTTP - setiap koneksi memerlukan nama pengguna dan kata sandi. Ini semakin sulit untuk sistem dengan otentikasi dua faktor, di mana token yang Anda gunakan untuk kata sandi dihasilkan secara acak dan tidak dapat dilanggar.

Untungnya, Git memiliki sistem kredensial yang dapat membantu dengan ini. Git memiliki beberapa opsi yang disediakan di dalam kotak:

  • Defaultnya bukan cache sama sekali. Setiap koneksi akan menanyakan nama pengguna dan kata sandi Anda.

  • Mode "cache" menyimpan kredensial dalam memori untuk periode waktu tertentu. Tidak ada kata sandi yang pernah disimpan di disk, dan dihapus dari cache setelah 15 menit.

  • Mode "store" menyimpan kredensial ke file teks biasa pada disk, dan mereka tidak pernah kedaluwarsa. Ini berarti bahwa sampai Anda mengubah kata sandi untuk host Git, Anda tidak perlu mengetikkan kredensial Anda lagi. Kelemahan dari pendekatan ini adalah bahwa kata sandi Anda disimpan dalam teks-jelas dalam file biasa di direktori home Anda.

  • Jika Anda menggunakan Mac, Git hadir dengan mode "osxkeychain", yang menyimpan kredensial di gantungan kunci aman yang dilampirkan ke akun sistem Anda. Metode ini menyimpan kredensial di disk, dan tidak pernah kedaluwarsa, tetapi dienkripsi dengan sistem yang sama yang menyimpan sertifikat HTTPS dan pengisian otomatis Safari.

  • Jika Anda menggunakan Windows, Anda dapat menginstal pembantu yang disebut "Git Credential Manager for Windows." Ini mirip dengan bantuan "osxkeychain" yang dijelaskan di atas, tetapi menggunakan Windows Credential Store untuk mengontrol informasi sensitif. Itu dapat ditemukan di https://github.com/Microsoft/Git-Credential-Manager-for-Windows .

Anda dapat memilih salah satu dari metode ini dengan menetapkan nilai konfigurasi Git:

$ git config --global credential.helper cache

$ git config --global credential.helper store

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

Sma Ma
sumber