Git [GitExtension] içine kullanıcı adı ve şifre nasıl kaydedilir?


1237

GitExtension'da kullanıcı ve şifremi her seferinde bir komut istemi olmadan otomatik olarak bir push-pull kullanmak istiyorum .

Peki git'te kimlik bilgilerimi nasıl kaydedebilirim?


1
SSH yoluyla da kimlik doğrulaması yapabilirsiniz: stackoverflow.com/questions/6565357/…
Anton Tarasenko


1
@AntonTarasenko benim gitconfig Proxy hakkında hiçbir şey söylemiyor, sadece [kullanıcı] email = email@dummy.com name = uname [kimlik bilgisi] yardımcı = mağaza
gc7__

Yanıtlar:


2202

Çalıştırmak

git config --global credential.helper store

sonra

git pull

bir kullanıcı adı ve şifre girin ve bu ayrıntılar daha sonra hatırlanacaktır. Kimlik bilgileri, "yalnızca kullanıcı tarafından okunabilir / yazılabilir" disk izinleriyle, ancak yine de düz metin olarak diskteki bir dosyada depolanır.

Parolayı daha sonra değiştirmek isterseniz

git pull

Parola yanlış olduğu için başarısız olur, git sonra rahatsız edici kullanıcı + parolayı ~/.git-credentialsdosyadan kaldırır , bu yüzden şimdi yeniden çalıştırın

git pull

daha önce çalışacak şekilde yeni bir şifre sağlamak.


6
-u bayrağı daha sonra şifreyi değiştirmek için ne kadar önemlidir?
lucidbrot

8
Debian / Ubuntu için libsecret kullanın stackoverflow.com/questions/36585496/…
rofrol

3
@ lucidbrot geç cevap verdiğim için üzgünüm. git pull -u son sürümü ile çalışmıyor. Cevabı güncelledim. Umarım sorunuza cevap verecektir.
Neetika

51
Bunun kullanıcı adınızı ve şifrenizi ~ / .git-credentials adresindeki düz bir metin dosyasında saklayacağını unutmayın. Herkes açabilir ve okuyabilir.
RoboAlex

12
Bu işe yaramıyor. Çekilemiyor.
Urasquirrel

348

git configGit'te kimlik bilgileri depolamasını etkinleştirmek için öğesini kullanabilirsiniz .

git config --global credential.helper store

Bu komutu çalıştırırken, uzak depodan ilk kez çektiğinizde veya ittiğinizde, kullanıcı adı ve şifre sorulur.

Daha sonra, uzak havuzla daha sonra iletişim kurmak için kullanıcı adı ve parola girmeniz gerekmez.

Depolama biçimi, .git-credentialsdüz metin olarak depolanan bir dosyadır.

Ayrıca, git config credential.helperbellek önbelleği için diğer yardımcıları kullanabilirsiniz :

git config credential.helper cache <timeout>

bu, isteğe bağlı olarak timeout parameter, kimlik bilgilerinin ne kadar süreyle bellekte saklanacağını belirler. Yardımcıyı kullanarak kimlik bilgileri hiçbir zaman diske dokunmaz ve belirtilen zaman aşımından sonra silinir. defaultdeğerdir900 seconds (15 minutes).


UYARI : Bu yöntemi kullanırsanız, git hesabı parolalarınız plaintextbiçiminde global .gitconfig file, örneğin linux'ta/home/[username]/.gitconfig

Bu sizin için istenmiyorsa ssh key, hesaplarınız için bir kullanın.


3
.Gitconfig dosyasını göstermenizi dilerdim - ilk komutun ikincisi üzerine yazılmıştır :(
Adam

3
İçin git config credential.helper cacheşifreleri bir dosyaya kaydedilmez, sadece hafızada saklanır. Bakınız: git-scm.com/docs/git-credential-cache
SA

1
Çalışmıyor. Ölümcül oluyor: Kimlik doğrulama başarısız. Parola bile istemiyor.
Philip Rego

2
Bir ek olarak - özel ssh-anahtarınız da kullanıcı tarafından erişilebilir bir konumda düz metin olarak saklanacaktır, bu nedenle her iki durumda da aynı saldırı yüzeyi.
Falco

bunu gitlab için nasıl kullanabilirim
anil

170

Önerilen ve Güvenli Yöntem: SSH

Bir ssh Github anahtarı oluşturun. Git github.com -> Ayarlar -> SSH ve GPG tuşları -> Yeni SSH Anahtar. Şimdi özel anahtarınızı bilgisayarınıza kaydedin.

Özel anahtar olarak kaydedilir Sonra, id_rsa içinde ~ / .ssh / dizinine, biz gibi kimlik doğrulaması için ekleyin:

ssh-add -K ~/.ssh/id_rsa


Daha Güvenli Bir Yöntem: Önbellekleme

Git-credential-store'u kullanarak kullanıcı adımızı ve şifremizi bir süre önbelleğe alabiliriz. CLI'nize (terminal veya komut istemi) aşağıdakileri girmeniz yeterlidir:

git config --global credential.helper cache

Zaman aşımı süresini (saniye cinsinden) aşağıdaki gibi de ayarlayabilirsiniz:

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


Daha Az Güvenli Bir Yöntem

Git-credential-store da kullanılabilir, ancak şifreleri diskinizdeki düz metin dosyasına şu şekilde kaydeder:

git config credential.helper store


Eski Cevap - Hızlı ve Güvensiz

Bu, şifrenizi düz metin olarak saklamak için güvenli olmayan bir yöntemdir. Birisi bilgisayarınızın kontrolünü ele geçirirse, şifreniz ortaya çıkar!

Kullanıcı adınızı ve şifrenizi şu şekilde ayarlayabilirsiniz:

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

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

15
Bu benim için işe yaramadı, git klonu hala kullanıcı adı ve şifre istiyor
Oliver

11
"git config --global -l" konsolda şifrenizi göstereceğinden şifrenizi böyle saklamanızı önermiyorum
CCC

1
Bu benim için çalışmıyor. Gitconfig'un belirtiminde "şifre" için yer olmadığı için herkes için çalışması garip.
Hamish Todd

.gitconfig farklı bir dosyadır: ana klasörünüzde bulunan .git-kimlik bilgileri, git: // kullanıcı adı: şifre @ sunucu / git / repo gibi URL'de kullanıcı adınız ve şifrenizle repo yapmak için URL içerir. METİN ŞİFRESİ. Ssh anahtarlarını kullanamıyorsanız "git config --global credential.helper önbellek" kullanın.
skabbit

Ben kullanıcı ve şifre eklemek için çalıştığım zaman yapılandırma dosyası kırdı ve tekrar repo klonlamak zorunda kaldı. Bunu denemeyin ..
Letie Techera

102

Git'in şifrenizi bir süre hafızaya kaydetmesi için kimlik bilgileri yardımcısını açın:

Terminal'e aşağıdakileri girin:

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

Varsayılan olarak Git, şifrenizi 15 dakika boyunca önbelleğe alır.

Varsayılan şifre önbellek zaman aşımını değiştirmek için aşağıdakileri girin:

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

Gönderen GitHub Yardım


7
ÖNEMLİ global sürümü öneren tek kişi sensin, çünkü
repoyu

4
Zaman aşımı sonsuza nasıl ayarlanır? Parolamı bir daha asla girmek istemiyorum.
Avamander

8
@ Avamander sadece cacheparçayı değiştirin store. Yani, tam komut olacaktır: git config --global credential.helper store. Bunun, şifrenizi açık metin dosyasında saklayacağını unutmayın (herhangi bir şifreleme olmadan).
Aleksandar

2
@Casper Birden fazla hesapla çalışmazsa, parola gerektiği gibi e-postaya göre mağazadan getirilmez, listedeki ilk hesap alınır.
Avamander

2
@Avamander hm .. bunun böyle olması gerekiyordu yoksa bir hata olabilir mi? --timeoutParametre için maksimum değer nedir ?
Aleksandar

50

Kimlik bilgilerinizi saklamak için ~/.gitconfigdosyayı düzenleyebilirsiniz

sudo nano ~/.gitconfig

Hangisi zaten olmalı

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

Bu dosyanın altına eklemelisiniz.

[credential]
        helper = store

Bu seçeneği önermemin nedeni küresel olması ve herhangi bir noktada seçeneği kaldırmanız gerektiğinde, nereye gideceğinizi ve değiştireceğinizi biliyorsunuzdur.

SADECE BU SEÇENEKLERİ KİŞİSEL BİLGİSAYARDA KULLANIN.

Sonra çektiğinizde | klon | git git parolanızı girin, genel olarak parola ~/.git-credentialsbiçiminde kaydedilir

https://GITUSER:GITPASSWORD@DOMAIN.XXX

DOMAIN.XXX NEREDE GITHUB.COM OLABİLİR | BITBUCKET.ORG | DİĞER

Dokümanlara Bakın

Terminalinizi yeniden başlatın.


1
Git bash penceresini yeniden başlatmayı unutmayın. Sadece bunu yaptığımda benim için çalıştı.
1919

33

Kimlik bilgilerinizi şu şekilde Url'ye koyun:

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

Bu şekilde saklayabilirsiniz :

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

... kullanmak için örnek :

git push myrepo master


Şimdi URL takma adlarını listelemek için:

git remote -v

... ve bunlardan birini silme komutunun:

git remote rm myrepo


8
Ayrıca şifrenizi URL'nin dışında bırakabilirsiniz, böylece Git şifrenizi sorar, ancak kullanıcı adınızı istemez.
kanguru

HTTP yerine SSH kullanmak çok kolay ve güvenlidir. Böylece, Git şifrenizi gizli tutabilir ve yalnızca SSH Anahtarınızı kullanabilirsiniz. Git'teki SSH hakkında bilgi: help.github.com/en/enterprise/2.16/user/…git@github.com:Username/myRepo.git
Loïch

URL'nizde şifreniz olması, terminalinizin geçmişine kaydederek bu şekilde çok güvenli olmaz.
Josh Correia

Bir Wiki'nin şu anda yalnızca klonlanabileceğini httpsunutmayın ssh, bu nedenle böyle bir çözüm burada yararlı olabilir. Ayrıca GitHub şifrenizden çok daha güvenli olan bir oauth jetonu kullanabileceğinizi unutmayın.
AstroFloyd

31

Global ayar için aşağıdakileri çalıştıran terminali açın (herhangi bir yerden):

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

Böylece, makinenizde bulunan tüm yerel git repoları bu bilgileri kullanacaktır.

Her repo için ayrı ayrı yapılandırarak şunları yapabilirsiniz:

  • repo klasöründeki terminali aç.
  • aşağıdakileri çalıştırın:

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

Yalnızca bu klasörü etkiler (yapılandırmanız yerel olduğundan).


8
Bu kimlik bilgilerinin herkes tarafından görüntülenebilen basit bir yapılandırma dosyasında olması tehlikeli değil mi?
bool3max

1
sorunuz başka bir konu için olmalıdır. Burada git global ve yerel olarak ad ve parolanın nasıl yapılandırılacağı hakkında bilgi veriyoruz.
Tuananhcwrs

Giriş arkadaşınız için teşekkürler
bool3max

11
Sadece bir cevabın olası güvenlik sorunları hakkında sormanın burada bir yeri olduğunu eklemek isterim, çünkü kalitesini doğrudan ve potansiyel olarak binlerce kullanıcıyı uygular.
Michael Kargl

2
benim için çalışmıyor, --localetiket ekledi ama yine hiçbir şey olmuyor
PayamBeirami

23

Git-credential-store kullanarak şifrelerinizi şifrelenmemiş olarak sadece dosya sisteminin izinleriyle korunan bir diskte saklayabilirsiniz.

Misal

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

Dosyada saklanan kimlik bilgilerini kontrol edebilirsiniz ~/.git-credentials

Daha fazla bilgi için git-credential-store adresini ziyaret edin - Kimlik bilgilerini diskte saklamak için yardımcı


17

SSH kimlik doğrulaması kullanıyorsanız kullanıcı adı / şifre kimlik doğrulamasından daha güvenli olacaksınız.

Mac kullanıyorsanız, SSH istemci kimlik doğrulaması MacOS anahtar zincirine entegre edilmiştir. Bir SSH anahtarı oluşturduktan sonra terminalinize yazın:

ssh-add -K ~/.ssh/id_rsa

Bu, SSH özel anahtarını MacOS anahtarlığına ekleyecektir. Git istemcisi uzak sunucuya bağlandığında ssh kullanır. Ssh genel anahtarınızı sunucuya kaydettirdiğiniz sürece, iyi olacaksınız.


1
k değil K?
dez93_2000

1
FYI: Mac üzerinde çalışıyorum. Bunu söyledikten sonra, "man" info: "-k" Aracıya anahtarları yüklerken veya aracıdan anahtarları silerken, yalnızca düz özel anahtarları işleyin ve sertifikaları atlayın. "-K" Kimlik eklerken, her parola kullanıcının anahtar zincirinde de saklanır. -D ile kimlikleri kaldırırken, her parola ondan kaldırılır.
Birol Efe

3
Bu çalışmanın https tabanlı depolar için olduğunu düşünmüyorum.
zakmck

5
Bu yanıt şifreleri (HTTPS depoları) SSH özel anahtarlarıyla karıştırıyor gibi görünüyor.
Steve Bennett

2
Katılmıyorum. Ana bilgisayara erişim izni vererek daha güvenli olamazsınız SSH. HTTP kimlik doğrulaması kullanıldığında, kimlik bilgilerini çalan birisinin yalnızca erişimi olur GitHub/GitLab. Ayrıca jeton sınırlı bir ömre sahip olacak şekilde tasarlanmıştır.
Dimitri Kopriwa

16

Düzinelerce SO yayını, blogu vb. Üzerinden geçtikten sonra her yöntemi denedim ve bulduğum şey bu. HER ŞEYİ kapsar.

Vanilla DevOps Git Kimlik Bilgileri ve Özel Paketler Hileleri

Bunlar, bir depoyu etkileşimli bir parola istemi olmadan klonlamak için git'i güvenli bir şekilde doğrulayabileceğiniz tüm yollar ve araçlardır .

  • SSH Genel Anahtarları
    • SSH_ASKPASS
  • API Erişim Jetonları
    • GIT_ASKPASS
    • Bunun yerine .gitconfig
    • .gitconfig [kimlik bilgisi]
    • .git-kimlik
    • .netrc
  • Özel Paketler (Ücretsiz)
    • düğüm / npm paketi.json
    • python / pip / yumurta gereksinimleri.txt
    • yakut taşlar Gemfile
    • golang go.mod

Gümüş Kurşun

Just Works ™ ister misiniz? Bu sihirli gümüş mermi.

Erişim Simgenizi alın (bunun için Github veya Gitea talimatlarına ihtiyacınız varsa hile sayfasındaki bölüme bakın) ve bir ortam değişkenine (hem yerel geliştirici hem de dağıtım için) ayarlayın:

MY_GIT_TOKEN=xxxxxxxxxxxxxxxx

Github için şu satırları aynen kopyalayın ve çalıştırın :

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:"

Tebrikler, artık git depolarını klonlayan herhangi bir otomatik araç, ister https ister ssh url stilinden biri olsun, bir parola istemiyle engellenmeyecektir.

Github kullanmıyor musunuz?

Diğer platformlar (Gitea, Github, Bitbucket) için URL'yi değiştirmeniz yeterlidir. Kullanıcı adlarını değiştirmeyin (rastgele olmasına rağmen, farklı yapılandırma girişleri için gereklidir).

uygunluk

MacOS, Linux, Windows (Bash'ta), Docker, CircleCI, Heroku, Akkeris vb.

Daha fazla bilgi

Hile sayfasının ".gitconfig yerineOf" bölümüne bakın.

Güvenlik

Hile sayfasının "Güvenlik" bölümüne bakın.


2
Bu bir cankurtaran. Teşekkürler.
annaoomph

2
Ne sonra oldu git config --global credential."https://somegithost.com".username MyUserNameki, içinde senin Pardus, ancak başka hiçbir yerde bu cevabı dizisindeki. Bu özel çözüm OP'nin sorusuna cevap vermiyor, ama benimkini yanıtladı, bu yüzden teşekkürler!
TheDudeAbides

1
Bu harika !!! En iyi cevap, çok teşekkürler.
Parsa

12

Bu durumda, git komutunu GitHub şifrenizi ve kullanıcı adınızı aşağıdaki komut satırını kullanarak hatırlayabilmeniz için söylemeniz gerekir:

git config --global credential.helper wincred 

ve SSH anahtarını kullanarak repo kullanıyorsanız, kimlik doğrulaması için SSH anahtarına ihtiyacınız vardır.


11

Yukarıdaki cevapların hiçbiri benim için işe yaramadı. İstesem şu her zaman elde tutulan fetchveya pull:

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


Mac'ler için

Parolamı şu şekilde sormasını durdurabildim:

  1. Yapılandırmayı çalıştırarak açın: vi ~/.ssh/config
  2. Aşağıdakiler eklendi: UseKeychain yes
  3. Kaydedildi ve çık: Esc tuşuna basın , ardından:wq!

Pencereler için

Bu Stack Exchange bilgiyi kullanarak işe almak başardı: https://unix.stackexchange.com/a/12201/348665


çünkü SSH protokolü kullanıyorsunuz (diğer cevaplar HTTPS kullanıyor).
mariusm

6

~/.gitconfigDosyayı düzenlemenin yanı sıra, şunları sorarsanız yapabilirsiniz:

git config --local --edit

veya

git config --global --edit

Her zaman tek tırnak kullanacağınızı unutmayın :

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

veya

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

Kullanıcı adınız ve şifreniz, çift tırnak işareti kullanırsanız şifrenizi kıracak bazı karakterler kullanabilir.

--localveya --globalkonfigürasyon parametrelerinin proje veya işletim sistemi kullanıcısı için kaydedildiği anlamına gelir.


Ayrıca bu kontrol tane daha açıklar.
prosti

6

sadece kullan

git config --global credential.helper store

ve git çekme yapmak, kullanıcı adı ve şifre isteyecek, bundan sonra ayrıntıları saklayacak kullanıcı adı ve şifre için herhangi bir istem sağlamayacak


4
Temel olarak kabul edilen cevabı tekrarladınız .
jsamol

4

Kullanıcı adını ve şifreyi .git-credentials içinde sakla

.git-credentialsçalıştırdığınızda kullanıcı adınızın ve şifrenizin (erişim belirteci) depolandığı yerdir git config --global credential.helper store; bu, diğer yanıtların önerdiği şeydir ve daha sonra kullanıcı adınızı ve şifrenizi veya erişim belirtecinizi yazın:

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

Bu nedenle, kullanıcı adını ve şifreyi (erişim belirteci) kaydetmek için:

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

Bu, github robot için, örneğin farklı dal için kurallara sahip olarak aynı docker deposundaki Zincir otomatik yapıları çözmek ve daha sonra post_pushdocker hub'ındaki fahişeye iterek tetiklemek için çok yararlıdır .

Bunun bir örneği burada yığın akışı içinde görülebilir .


Teşekkürler, hayat kurtarıcısın! Ayrıca https: // $ {access_token}: $ {access_token} @ github.com'u ayarlayabiliriz
Lucas Mendes Mota Da Fonseca

1
@LucasMendesMotaDaFonseca erişim belirteci kullanıcı adı olarak kullanılabilir ???
JiaHao Xu

3

Git kimlik bilgilerini önbelleğe almanın hızlı bir yolu:

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

iyi ve güvenli

zaman aşımı saniye cinsindendir.


2

Konuyu tam olarak okuduktan ve bu sorunun yanıtlarının çoğunu denedikten sonra, sonunda benim için çalışan prosedürü buldum. Birisi karmaşık bir kullanım durumu ile uğraşmak zorunda ama yine de tam iş parçacığı ve gitcredentials , gitcredentials-mağaza vb adam sayfaları, gitmek istemiyorum durumunda paylaşmak istiyorum .

Önerim prosedür aşağıda bul EĞER (benim gibi) birkaç farklı kullanıcı adı / şifre kombinasyonları kullanarak çeşitli sağlayıcıları (GitLab, GitHub, Bitbucket, vb) birkaç depoları ile uğraşmak zorunda. Bunun yerine birlikte çalışmak için sadece tek bir hesap varsa, o zaman istihdam daha iyi olabilir git config --global credential.helper storeya da git config --global user.name "your username"çok iyi olmuş önceki cevapları açıkladık vb çözümler.

Çözümüm:

  1. bazı eski denemelerin yoluna girmesi durumunda küresel kimlik bilgileri yardımcısı :)

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

  1. deponuzun kök dizinine gidin ve yerel kimlik yardımcısını devre dışı bırakın (gerekirse)

> cd /path/to/my/repo

> git config --unset credential.helper

  1. repo kimlik bilgilerinizi saklamak için bir dosya oluşturun

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

Not : Bu komut, Git dizininizin kimlik bilgilerini sakladığı ana dizininizde ".git_repo_credentials" adlı yeni bir dosya oluşturur. Bir dosya adı belirtmezseniz Git, varsayılan ".git_credentials" öğesini kullanır. Bu durumda, aşağıdaki komutu vermek yeterlidir:

> git config credential.helper store

  1. kullanıcı adınızı belirleyin

git config credential.*.username my_user_name

Not : havuzlarınız aynı sağlayıcıdan (örneğin GitLab) geliyorsa, "*" kullanmak genellikle uygundur. Bunun yerine havuzlarınız farklı sağlayıcılar tarafından barındırılıyorsa, aşağıdaki örnekte (GitLab için) olduğu gibi, her havuz için sağlayıcıya bağlantıyı açıkça ayarlamanızı öneririm:

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

Bu noktada, kimlik bilgilerinizi (örn. git pull) Gerektiren bir komut verirseniz, "my_user_name" ifadesine karşılık gelen bir parola istenir. Git yalnızca kimlik bilgilerini ".git_repo_credentials" dizininde sakladığı ve sonraki erişimlerde otomatik olarak aynı verileri kullandığı için bu yalnızca bir kez gereklidir.


2

Rifrol'un yorumundan, Linux Ubuntu üzerine, bu cevaptan Ubuntu'da şöyle:

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

Diğer bazı dağıtımlar ikili dosyayı sağlar, böylece onu oluşturmak zorunda kalmazsınız.

OS X'te genellikle "osxkeychain" varsayılan modülü ile "inşa edilmiş" olarak gelir, böylece ücretsiz olarak alabilirsiniz.


2

Resmi git belgelerine bakın:

Uzaktan kumandalara bağlanmak için SSH aktarımını kullanırsanız, kullanıcı adınızı ve şifrenizi yazmadan verileri güvenli bir şekilde aktarmanızı sağlayan, parola içermeyen bir anahtara sahip olmanız mümkündür. Ancak, HTTP protokolleri ile bu mümkün değildir - her bağlantının bir kullanıcı adı ve parolaya ihtiyacı vardır. Bu, iki faktörlü kimlik doğrulaması olan sistemler için daha da zorlaşır; burada parola için kullandığınız belirteç rasgele oluşturulur ve okunamaz hale gelir.

Neyse ki Git'in bu konuda yardımcı olabilecek bir kimlik sistemi var. Git'in kutusunda birkaç seçenek vardır:

  • Varsayılan değer hiç önbelleklememektir. Her bağlantıda kullanıcı adınız ve şifreniz istenir.

  • “Önbellek” modu kimlik bilgilerini belirli bir süre bellekte tutar. Parolaların hiçbiri diskte saklanmaz ve 15 dakika sonra önbellekten temizlenir.

  • “Depo” modu, kimlik bilgilerini diskteki düz metin dosyasına kaydeder ve süresi asla dolmaz. Bu, Git ana bilgisayarı için parolanızı değiştirene kadar kimlik bilgilerinizi bir daha yazmak zorunda kalmayacağınız anlamına gelir. Bu yaklaşımın dezavantajı, şifrelerinizin ana dizininizdeki düz bir dosyada açık metin olarak saklanmasıdır.

  • Mac kullanıyorsanız Git, sistem hesabınıza eklenen güvenli anahtarlıktaki kimlik bilgilerini önbelleğe alan “osxkeychain” modu ile birlikte gelir. Bu yöntem kimlik bilgilerini diskte depolar ve süresi asla dolmaz, ancak HTTPS sertifikalarını ve Safari otomatik dolgularını depolayan aynı sistemle şifrelenir.

  • Windows kullanıyorsanız, “Windows için Git Kimlik Bilgisi Yöneticisi” adlı bir yardımcı yükleyebilirsiniz. Bu, yukarıda açıklanan "osxkeychain" yardımcısına benzer, ancak hassas bilgileri denetlemek için Windows Kimlik Bilgisi Deposu'nu kullanır. Https://github.com/Microsoft/Git-Credential-Manager-for-Windows adresinde bulunabilir .

Git yapılandırma değeri ayarlayarak bu yöntemlerden birini seçebilirsiniz:

$ git config --global credential.helper cache

$ git config --global credential.helper store

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.