Saya bekerja dengan repo di GitHub dan setiap kali saya mencoba mendorong sesuatu, ia meminta nama pengguna dan kata sandi GitHub saya. Saya tidak ingin itu melakukan itu.
Saya mencoba instruksi tentang pengaturan email Anda di Git , yaitu mengatur variabel Git github.user dan github.token, tetapi itu tidak ada bedanya.
Saya tidak mengerti mengapa ini terjadi.
Jawaban:
Anda perlu mengatur ssh-agent yang hanya perlu Anda otentikasi satu kali. Lihat jawaban ini di SO untuk howto.
sumber
Punya masalah yang sama hari ini: Saya mengacaukan semuanya dalam copy pekerjaan saya, jadi saya memutuskan untuk mengganti nama direktori dan mengkloning proyek saya lagi dari github. Tetapi setelah melakukan itu, saya harus memasukkan kata sandi untuk melakukan permintaan tarikan / push, alih-alih memasukkan frasa sandi satu kali seperti dulu.
Itu karena hari ini saya menggunakan protokol https untuk mengkloning proyek! Untuk memeriksa protokol apa yang Anda gunakan jalankan saja
dan lihat baris yang dimulai dengan 'remote.origin.url'.
Untuk beralih protokol:
the_repository_username
danyour_project
harus diganti dengan nama repositori yang sesuai dan pemilik repositori itu. Nama pengguna akan menjadi milik Anda jika Anda memiliki repositori, atau nama pengguna pemilik repositori.sumber
[email protected]:some-user/repo-name.git
remote.origin.url
set ke metode https dan bahkan tidak melihat ada metodehttps
vs.ssh
URL ini membantu saya melihat yang sudah jelas: help.github.com/articles/…git config remote.origin.url ...
digunakan di atas, vsgit remote set-url origin ...
?git remote rm origin
Jika Anda menggunakan HTTPS alih-alih SSH, Anda dapat mengikuti ini:
Temukan URL jarak jauh Anda (remote.origin.url) dengan
terima kasih kepada Sergio Morstabilini
URL jarak jauh Anda akan seperti ini: https: // {USERNAME} @ github.com / {USERNAME} / {REPONAME} .git
Jalankan perintah ini:
sumber
@
, tidak berfungsi untuk saya..git/config
file!Saya lebih suka menggunakan HTTPS, saya merasa lebih mudah dan lebih aman daripada mengatur kunci ssh.
Menggunakan HTTPS, Anda dapat mencegah git dari meminta nama pengguna Anda untuk remote github dengan yang berikut:
Dan Anda setidaknya dapat mengurangi frekuensi git meminta kata sandi Anda dengan:
Di mana 28800 adalah 8 jam. Saya menggunakan pengaturan ini untuk memasukkan kata sandi saya hanya sekali, ketika saya memulai hari kerja saya.
Setelah itu Anda akan memiliki entri ini di dalam blog Anda
~/.gitconfig
Sumber:
http://git-scm.com/docs/git-credential-cache
http://git-scm.com/docs/git-config
sumber
Ketika Anda mengatur kunci ssh untuk github, jika itu bukan kunci default Anda, Anda perlu menambahkan bagian ke
~/.ssh/config
sumber
Jika Anda menggunakan Windows dengan HTTPS, coba Git Credential Store - ia menggunakan Windows Credential Store untuk menyimpan nama dan kata sandi Anda.
Kemudian pada saat Anda memasukkan nama dan kata sandi Anda itu akan mengingatnya untuk Anda.
sumber
Juga, jika Anda ingin dimintai kata sandi setiap saat, tetapi tidak hanya nama pengguna Anda, maka Anda mengonfigurasi remote sebagai HTTPS dengan nama pengguna .. Seperti ini ..
Setelah ini, Anda akan dimintai kata sandi setiap saat, tetapi bukan nama pengguna Anda.
Inilah yang saya suka, karena saya suka mengetik kata sandi github sebelum berbagi dengan dunia.
sumber
Hal-hal sedikit berbeda jika Anda menggunakan auth 2-faktor seperti saya. Karena saya tidak menemukan jawaban yang baik di tempat lain, saya akan menempel di sini sehingga mungkin saya bisa menemukannya nanti.
Jika Anda menggunakan otentikasi 2 faktor, maka menentukan nama pengguna / kata sandi tidak akan berfungsi - Anda mendapat akses ditolak. Tetapi Anda dapat menggunakan token akses aplikasi dan menggunakan pembantu kredensial git untuk men-cache itu untuk Anda. Berikut ini tautan terkait:
Dan saya tidak ingat di mana saya melihat ini tetapi ketika Anda diminta untuk Nama Pengguna Anda - di situlah Anda menempel token akses aplikasi. Kemudian biarkan kata sandi kosong. Bekerja di mac saya.
sumber
gunakan SSH
Untuk mencegah GitHub meminta kata sandi saat mendorong, idealnya Anda harus menggunakan SSH (
[email protected]:...
) alih-alih URL HTTPS (https://github.com/...
) dan menambahkan kunci SSH Anda ke akun GitHub Anda . Lihat: URL jarak jauh mana yang harus saya gunakan?penolong kredensial
Kalau tidak, jika Anda benar-benar perlu menggunakan HTTPS, untuk men-cache kata sandi GitHub Anda di Git , Anda harus menggunakan penolong kredensial untuk memberi tahu Git untuk mengingat nama pengguna dan kata sandi GitHub Anda setiap kali berbicara dengan GitHub.
git config --global credential.helper osxkeychain
(osxkeychain helper
wajib),git config --global credential.helper wincred
git config --global credential.helper cache
.netrc
Metode lain adalah menggunakan konfigurasi pengguna / kata sandi Anda di
~/.netrc
(_netrc
pada Windows), misOAuth
Gunakan token OAuth ( Token API Pribadi ) untuk mendorong perubahan, mis
Terkait:
sumber
Jika Anda menggunakan Windows, Anda dapat menggunakan:
Anda hanya perlu masuk sekali lagi dan kemudian git akan mengingatnya.
sumber
Meminta nama pengguna itu mengganggu saya, tetapi meminta kata sandi itu bagus karena memastikan Anda benar-benar ingin go public dengan perubahan Anda ...
Jadi saya hanya menambahkan ini ke ".gitconfig" saya
sumber
Gunakan Git Credential Manager untuk Windows , jika Anda menggunakan Windows.
Cukup unduh versi terbaru dan instal.
sumber