Setiap kali saya mencoba mendorong repo git saya meminta keduanya username & password
.
Saya tidak memiliki masalah dalam memasukkan kembali kata sandi saya setiap kali tetapi masalahnya adalah memasukkan nama pengguna. Saya gunakan https
untuk mengkloning repositori saya.
Jadi, bagaimana saya bisa mengkonfigurasi git sehingga tidak meminta username
masing-masing git push
.
Saya baru mengenal linux tetapi IIRC di windows git push
hanya meminta kata sandi.
Jawaban:
Edit (oleh @ dk14 seperti yang disarankan oleh moderator dan komentar)
PERINGATAN: Jika Anda menggunakan
credential.helper store
dari jawaban, kata sandi Anda akan disimpan sepenuhnya tidak terenkripsi ("sebagaimana adanya") di~/.git-credentials
. Silakan baca bagian komentar di bawah ini atau jawaban dari bagian "Tertaut", terutama jika majikan Anda tidak memiliki toleransi terhadap masalah keamanan.Meskipun diterima, itu tidak menjawab pertanyaan OP yang sebenarnya tentang menghilangkan nama pengguna saja (bukan kata sandi). Untuk pembaca dengan masalah yang tepat, jawaban @ grawity mungkin berguna.
Jawaban asli (oleh @Alexander Zhu):
Anda dapat menyimpan kredensial Anda menggunakan perintah berikut
Saya juga menyarankan Anda untuk membaca
$ git help credentials
sumber
git config --unset credential.helper
Anda dapat melakukannya di
.git/config
file repositori lokal Anda. File ini berisi bagian yang disebut 'remote' dengan entri yang disebut 'url'. Entri 'url' harus berisi tautan https repositori yang sedang Anda bicarakan.Saat Anda mengawali 'url' host dengan nama pengguna Anda,
git
seharusnya tidak lagi meminta nama pengguna Anda. Ini sebuah contoh:sumber
git config credential.helper store
.username for https://gitlab.com:
unable to access 'https://<me>@bitbucket.org:<x>/<y>.git/': Illegal port number
Mengotentikasi secara permanen dengan repositori Git
Jalankan perintah berikut untuk mengaktifkan caching kredensial:
Gunakan juga harus menentukan caching berakhir
Setelah mengaktifkan cache kredensial, itu akan di-cache selama 7200 detik (2 jam) .
Baca kredensial Documents
sumber
git config credntial.helper store
itu berbahaya, yang bertanggung jawab untuk menyimpan plaintext-credentials dalam file ~ / .git-credentials? Saya pikir (dan dalam pengalaman saya) perintah ... cache ...- sudah cukup:git config --clogal credential.helper 'cache --timeout 7200'
Ini menciptakan dir:~/.git-credential-cache
dengan file cache di dalamnya Jadi, jalankan saja perintah ini dan BUKAN perintah "... store" -commandTambahkan kunci SSH baru seperti yang dijelaskan dalam artikel ini di GitHub .
Jika Git masih menanyakan nama pengguna & kata sandi Anda, coba ubah
https://github.com/
ke[email protected]:
dalam URL jarak jauh:sumber
git config remote.origin.url "ssh://git@yourRepoHost/yourRepoName.git"
Cara termudah yang saya temukan adalah dengan perintah ini:
Ini berfungsi berdasarkan situs demi situs dan mengubah konfigurasi global git Anda.
Untuk melihat perubahannya, gunakan:
sumber
Jika Anda menggunakan https alih-alih ssh, Anda dapat mengedit "url"
.git/config
seperti yang dikatakan user701648, tetapi jika mau, Anda dapat menambahkan juga kata sandi:sumber
@
dimasukkan dalam kata sandi saya?url = https://username:abc@[email protected]
Ini memberi saya kesalahan ituCould not resolve host: @[email protected]
username
tampaknya diabaikan, ketika server mengalihkan (seperti dari FOO ke FOO.git).Anda dapat mengatur nama pengguna Anda untuk semua repositori di situs tertentu dengan meletakkan sesuatu seperti yang berikut ini di file konfigurasi Git Anda. Anda ingin mengubah " https://example.com " dan "saya" ke URL aktual dan nama pengguna Anda yang sebenarnya.
(Ini langsung dari "kredensial bantuan git")
sumber
Mengubah karya repo kloning:
Menggunakan kredensial yang di-cache berfungsi, dan mengatur periode waktu habis membuat hal-hal kurang mengganggu. Jika Anda menggunakan pembantu kredensial Windows, itu harus menjadi metode termudah (terutama jika SSH diblokir).
sumber
Pastikan Anda menggunakan SSH, bukan http. Periksa jawaban SO ini .
sumber
http
karena di universitas sayassh
diblokir oleh departemen sys-admin.git config --global credential.helper cache
sumber
Selain jawaban pengguna701648, Anda dapat menyimpan kredensial Anda di folder rumah Anda (global untuk semua proyek), bukan folder proyek menggunakan perintah berikut
sumber
Ketika saya hanya git pull, git pull xxx asal, git meminta nama pengguna & kata sandi.
berhasil.
sumber
Cara termudah adalah membuat
~/.netrc
file dengan konten berikut:(seperti yang ditunjukkan di sini: https://gist.github.com/ahoward/2885020 )
Anda bahkan dapat menutup izin pada file ini sehingga tidak ada yang dapat membaca kata sandi Anda dengan mengetik:
sumber
Jika Anda menggunakan versi SSH , Anda tidak akan memiliki masalah dengan kata sandi. Hanya satu kali Anda membuat kunci SSH , untuk memberi tahu git, bahwa pc ini akan bekerja dengan akun github ini dan tidak pernah bertanya kepada saya lagi tentang akses apa pun (untuk pc ini).
Cara Menghasilkan SSH untuk Github
sumber
Untuk menghindari memasukkan nama pengguna, tetapi masih diminta untuk memasukkan kata sandi, maka Anda cukup mengkloning repositori Anda termasuk nama pengguna:
sumber
$ git config credential.helper store
$ git push / push https://github.com/xxx.git
Kemudian masukkan nama pengguna dan kata sandi Anda.
sumber
git push/push https://github.com/xxx.git
harusgit push https://github.com/xxx.git
ssh
+key authentication
adalah cara yang lebih andal daripadahttps
+credential.helper
Anda dapat mengonfigurasi untuk menggunakan SSH alih-alih HTTPS untuk semua repositori sebagai berikut:
url.<base>.insteadOf
didokumentasikan di sini .sumber
Metode cepat
dapatkan url git Anda ketika di dalam direktori kerja:
kemudian :
akan menanyakan nama pengguna dan kata sandi terakhir kali
selesai
sumber
Anda bisa berlari
setelah menginstal dan masuk ke GIT untuk windows di sistem Anda.
sumber
(Hanya Untuk Mac OS)
untuk Windows dan Linux silakan merujuk ke tautan dokumentasi Github yang disebutkan di bawah ini.
Dari Dokumentasi Github: Tautan Dokumentasi
Caching kata sandi GitHub Anda di Git
Anda perlu Git 1.7.10 atau yang lebih baru untuk menggunakan bantuan kredensial osxkeychain.
untuk mengetahui bantuan osxkeychain sudah diinstal:
jika Anda mendapatkan respons berikut maka Anda sudah menginstalnya dan siap digunakan di mac Anda:
jika Anda tidak mendapatkan respons seperti yang ditunjukkan di atas maka Anda dapat menginstalnya dengan menjalankan perintah berikut:
untuk memberi tahu git untuk menggunakan osxkeychain secara global untuk kredensial git:
Ini akan meminta sekali sebelum menyimpan kredensial ke gantungan kunci .
sumber