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

Murali Murugesan
sumber
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

linquize
sumber
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://[email protected]/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:[email protected]/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

Robert Rouhani
sumber
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://[email protected]/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"

Patrick Atoon
sumber
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%[email protected]/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

linquize
sumber
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/

Anthony Keane
sumber
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

[buka pengaturan git (TortoiseGit → Pengaturan → Git)] [1]

[Dalam GIt: klik untuk mengedit global .gitconfig] [2]

config nama pengguna dan kata sandi

thinhnv
sumber
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.
Denis Wang
sumber
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.

APLIKASI
sumber
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.

rajeshk
sumber