TortoiseGit menyimpan otentikasi / kredensial pengguna


286

Apakah ada cara untuk menyimpan GITHUB's user credentialsdengan TortoiseGit?

Ini meminta saya dialog di bawah ini setiap kali saya melakukan push / pull.

Saya ingin menyimpan informasi kredensial pengguna saya di suatu tempat seperti yang saya lakukan dengan TortoiseSVN.

masukkan deskripsi gambar di sini



Anda juga dapat menggunakan Manajer Kredensial untuk menyimpan / mengelola kredensial. stackoverflow.com/a/31782500/730676
user730676

Jawaban:


351

Untuk TortoiseGit 1.8.1.2 atau lebih baru, ada GUI untuk mengaktifkan / menonaktifkan pembantu kredensial.

Mendukung git-credential-wincreddan git-credential-winstore.

TortoiseGit 1.8.16 menambahkan dukungan untuk git-credential-manager(Git Credential Manager, penerus git-credential-winstore)

Untuk pertama kalinya Anda menyinkronkan Anda diminta untuk pengguna dan kata sandi, Anda memasukkan mereka dan mereka akan disimpan ke toko kredensial Windows. Itu tidak akan meminta pengguna atau kata sandi saat berikutnya Anda menyinkronkan.

Untuk menggunakan: Klik kanan → TortoiseGit → Pengaturan → Git → Kredensial. Pilih Credential helper: wincred - hanya repositori ini / wincred - pengguna Windows saat ini

masukkan deskripsi gambar di sini


40
Rapi. Sekarang bagaimana cara menggunakannya?
BlueRaja - Danny Pflughoeft

16
Klik kanan -> TortoiseGit -> Pengaturan -> Git -> Kredensial. Pilih Kredensial pembantu: wincred - this repository only/wincred - current Windows user
linquize

33
Tidak, Anda harus mengaktifkan helper kredensial terlebih dahulu. Untuk pertama kalinya Anda menyinkronkan Anda diminta untuk pengguna dan kata sandi, Anda memasukkan mereka dan mereka akan disimpan ke toko kredensial Windows. Itu tidak akan meminta pengguna atau kata sandi saat berikutnya Anda menyinkronkan.
linquize

7
Catatan: ini tidak akan berfungsi jika nama pengguna Anda mengandung @! Setidaknya bagi saya, juga ini adalah bug yang dilaporkan: github.com/msysgit/msysgit/issues/258
OschtärEi

5
Untuk TortoiseGit 1.8.16 dan yang lebih tinggi, instal Git Credential Manager untuk Windows - github.com/Microsoft/Git-Credential-Manager-for-Windows - dan kemudian ikuti instruksi di atas. GCM juga menangani kredit untuk git di dalam Cygwin / babun yang bagus.
DrStrangepork

68

Jika Anda akan menurunkan jawaban ini

Saya menulis ini beberapa bulan sebelum dimasukkannya git-credential di TortoiseGit. Mengingat banyaknya lubang keamanan besar yang ditemukan dalam beberapa tahun terakhir dan seberapa banyak yang telah saya pelajari tentang keamanan jaringan, saya akan SANGAT menyarankan Anda menggunakan kunci SSH unik (minimum 2048-bit RSA) untuk setiap server yang Anda hubungkan.

Sintaksis di bawah ini masih tersedia, meskipun ada alat yang jauh lebih baik tersedia saat ini seperti git-credential itu jawaban yang diterima memberitahu Anda bagaimana cara menggunakannya. Lakukan itu sebagai gantinya.


Coba ubah URL jarak jauh ke https://username@github.com/username/repo.gittempat usernamenama pengguna github danrepo merupakan nama repositori Anda.

Jika Anda juga ingin menyimpan kata sandi Anda (tidak disarankan), URL akan terlihat seperti ini: https://username:password@github.com/username/repo.git .

Ada juga cara lain untuk menyimpan kata sandi dari artikel bantuan github ini: https://help.github.com/articles/set-up-git#password-caching


Di mana saya dapat melihat url jarak jauh? Dalam Pengaturan -> Remote -> Url kosong. Tapi saya memberikan url git ketika saya melakukan kloning pertama kali
Murali Murugesan

2
Klik pada "asal" di menu Remote untuk membuka URL
Robert Rouhani

Saya pikir itu berfungsi, tetapi tidak dapat memverifikasi karena saya mendapatkan 'git tidak keluar dengan bersih (kode keluar 128)'
Murali Murugesan

oops, tarik URL dari contoh lama. Melihat sekilas pada salah satu repo saya menunjukkan bahwa URL itu seharusnya: di https://username@github.com/username/repo.gitmana kedua contoh usernameadalah nama pengguna Anda. Diperbarui jawabannya.
Robert Rouhani

1
Ini memecahkan masalah lebih cepat dan dengan cara yang lebih sederhana: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi

25

Tidak ada jawaban di atas yang berfungsi untuk saya menggunakan git versi 1.8.3.msysgit.0 dan TortoiseGit 1.8.4.0.

Dalam situasi khusus saya, saya harus terhubung ke repo git jarak jauh melalui HTTPS, menggunakan alamat email penuh sesak sebagai nama pengguna. Dalam situasi ini, wincredtampaknya tidak berhasil.

Menggunakan alamat email sebagai bagian dari URL repo juga tidak berfungsi, karena perangkat lunak tampaknya bingung oleh tampilan ganda karakter '@' dalam URL.

Saya berhasil mengatasi masalah menggunakan winstore. Inilah yang saya lakukan:

Ini akan menyalin git-credential-winstore.exeke direktori lokal dan menambahkan dua baris ke global Anda .gitconfig. Anda dapat memverifikasi ini dengan memeriksa global Anda .gitconfig. Ini paling mudah dilakukan melalui tombol kanan mouse pada folder, "TortoiseGit> Pengaturan> Git> Edit global .gitconfig". File tersebut harus berisi dua baris seperti:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • Tidak diperlukan pengaturan TortoiseGit lainnya di bawah "Jaringan" atau "Kredensial". Secara khusus: menu tarik-turun "pembantu kredensial" di bawah "kredensial" akan kosong karena garis-garis konfigurasi ini, karena TortoiseGit tidak mengenali pembantu baru. Jangan atur menu pull down ke nilai lain atau global .gitconfig akan ditimpa dengan nilai yang salah! (*)

Anda sekarang siap untuk pergi:

  • Cobalah untuk menarik dari repositori jarak jauh. Anda akan melihat popup otentikasi yang menanyakan nama pengguna dan kata sandi Anda, popup tersebut harus berbeda secara visual dari popup TortoiseGit default. Ini pertanda dan sarana yang baikwinstore bekerja. Masukkan otentikasi yang benar dan tarikan harus berhasil.
  • Coba tarikan yang sama lagi, dan nama pengguna dan kata sandi Anda seharusnya tidak lagi ditanyakan.

Selesai! Nikmati interaksi Anda dengan repo jarak jauh sambil winstoremenjaga otentikasi.

(*) Atau, jika Anda tidak menyukai pilihan kosong di menu tarik turun pengaturan TortoiseGit Credential setting, Anda dapat menggunakan opsi "Advanced":

  • Pergi ke "TortoiseGit> Pengaturan> Kredensial"
  • Pilih pembantu kredensial "Lanjutan"
  • Klik pada "G" (untuk global) di bawah Pembantu
  • Masukkan jalur Helper seperti di bawah ini. Catatan: notasi jalur Windows biasa (mis. "C: \ Users ...") tidak akan berfungsi di sini, Anda harus meniru baris persis yang menginstal yang winstoredibuat di global .gitconftanpa bit "helper =".

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
  • Klik tombol "Tambah Baru / Simpan"


Anda mengarahkan saya ke arah yang benar. Hanya perlu menggunakan "wincred - pengguna Windows saat ini" dan masukkan nama pengguna BUKAN alamat email. Itu menyelesaikan segalanya.
Razze

Saya senang itu membantu Anda di jalur yang benar! Namun, poin dalam kasus saya harus dilakukan persis dengan penggunaan alamat email. Ini mengandung "@" dan akan menimbulkan masalah jika Anda mencoba salah satu resep lain.
Patrick Atoon

2
Um,% 40 adalah kode untuk '@' jadi jika Anda mencoba ' myEmail%40gmail.com@github.com/username/repo.git ' Anda akan dapat memasukkan alamat email Anda di .config. Masih tidak disarankan tetapi, itu mungkin.
Tom Padilla

Ini adalah cara yang benar dan tepat untuk melakukan ini. Unduh penginstal dari Microsoft / Git-Credential-Manager-for-Windows / rilis , lalu klik kanan setup.exefile tersebut, dan jalankan sebagai admin.

8

Untuk msysgit 1.8.0, unduh git-credential-wincred.exe dari https://github.com/downloads/msysgit/git/git-credential-wincred.zip dan masukkan ke dalam C: \ Program Files \ Git \ libexec \ git -inti

Untuk msysgit 1.8.1 dan yang lebih baru, exe bawaan.

di git config, tambahkan pengaturan berikut.

[credential] helper = wincred


Di mana Anda menemukan Tortoise Git 1.8.1.2? Saya hanya melihat 1.8.1.0 di situs mereka
Ken Sykora

TortoiseGit 1.8.1.2 adalah rilis Pratinjau.
linquize

8

Menyimpan nama pengguna dan kata sandi dengan TortoiseGit

Menyimpan detail login Anda di TortoiseGit cukup mudah. Menghemat keharusan mengetikkan nama pengguna dan kata sandi Anda setiap kali Anda menarik atau menekan.

  1. Buat file bernama _netrc dengan konten berikut:

    mesin github.com
    login
    kata sandi login Anda kata sandi Anda

  2. Salin file ke C: \ Users \ (atau lokasi lain; ini kebetulan tempat saya meletakkannya)

  3. Pergi ke command prompt, ketik setx home C: \ Users \

Catatan: jika Anda menggunakan sesuatu yang lebih awal dari Windows 7, perintah setx mungkin tidak berfungsi untuk Anda. Gunakan set sebaliknya dan tambahkan variabel lingkungan rumah ke Windows menggunakan melalui Pengaturan Lanjut di bawah Komputer Saya.

KREDIT KE: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/


2
Yang itu adalah solusi terbaik! Tapi bisakah Anda menjelaskan hubungan antara file _netrc dan git? Bisakah file ini menyimpan lebih dari satu ranah?
Alex Byrth


8

Jika Anda adalah pengguna windows 10 + TortoiseGit 2.7:

  1. untuk login pertama kali, cukup ikuti petunjuk untuk memasukkan kredensial Anda dan menyimpan kata sandi.
  2. Jika Anda perlu memperbarui kredensial Anda, jangan buang waktu Anda di pengaturan TortoiseGit. Alih-alih, cari jendela> Manajer Kredensial> Kredensial Windows> temukan entri git Anda> Edit.

Ini adalah jawaban yang Anda cari, jika Anda telah mengubah kata sandi Windows Anda, dan otentikasi Git tidak lagi berfungsi ... Di Jerman Windows, cari "Anmeldeinformationsverwaltung".
Andre

OMG, terima kasih. saya tahu kita tidak seharusnya menambahkan komentar dengan ucapan terima kasih. tapi terima kasih !!
Stephen Hazel

6

Coba ini:

  1. Dapatkan ke folder repo Anda
  2. Klik kanan pada ruang kosong Tortise Git -> Setting
  3. Mendapat Kredensial (biasanya terletak di bilah sisi di bawah Menu Git)
  4. Dalam Helper kredensial, pilih Wincred, semua pengguna Windows
  5. Tekan Terapkan

itu akan meminta kata sandi Anda hanya sekali.


Silakan gunakan istilah "TortoiseGit".
Yue Lin Ho

0

Masuk repo proyek, klik kanan -> 'Git Bash Here'

Pada tipe git bash windows

cd ~
pwd

saya mendapatkan sesuatu seperti ini

/c/Users/<windows_username>

Sekarang salin kunci publik dan pribadi Anda ke jalur ini

C:\Users\<windows_username>\.ssh

saya mendapat file di bawah ini di sana

id_rsa
id_rsa.pub
known_hosts

sini

Sekarang kapan pun perlu menggunakan kredensial itu menggunakan file-file ini dan meminta kata sandi jika diperlukan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.