TortoiseGit zapisz uwierzytelnianie / poświadczenia użytkownika

286

Czy istnieje sposób na zaoszczędzenie GITHUB's user credentialsdzięki TortoiseGit?

Za każdym razem, gdy wykonuję push / pull, wyświetla mi się poniższe okno dialogowe.

Chciałbym zapisać moje dane uwierzytelniające użytkownika gdzieś tak, jak to zrobiłem z TortoiseSVN.

wprowadź opis zdjęcia tutaj

Murali Murugesan
źródło
Możesz także użyć Credential Manager do zapisywania / zarządzania poświadczeniami. stackoverflow.com/a/31782500/730676
user730676

Odpowiedzi:

351

W TortoiseGit 1.8.1.2 lub nowszym istnieje GUI do włączania / wyłączania pomocnika poświadczeń.

Obsługuje git-credential-wincredi git-credential-winstore.

TortoiseGit 1.8.16 dodaje wsparcie dla git-credential-manager(Git Credential Manager, następcygit-credential-winstore )

Podczas pierwszej synchronizacji zostaniesz poproszony o podanie użytkownika i hasła, a następnie wprowadź je, a zostaną zapisane w magazynie poświadczeń systemu Windows. Przy następnej synchronizacji nie poprosi o podanie użytkownika ani hasła.

Aby użyć: Kliknij prawym przyciskiem myszy → TortoiseGit → Ustawienia → Git → Referencje. Wybierz Pomocnika poświadczeń: wincred - tylko to repozytorium / wincred - aktualny użytkownik systemu Windows

enter image description here

linquize
źródło
40
Schludny. Jak mam z tego korzystać?
BlueRaja - Danny Pflughoeft
16
Kliknij prawym przyciskiem myszy -> TortoiseGit -> Ustawienia -> Git -> Referencje. Wybierz pomocnika poświadczeń: wincred - this repository only/wincred - current Windows user
linquize 16.08.13
33
Nie, musisz najpierw włączyć pomocnika poświadczeń. Podczas pierwszej synchronizacji zostaniesz poproszony o podanie użytkownika i hasła, a następnie wprowadź je, a zostaną zapisane w magazynie poświadczeń systemu Windows. Przy następnej synchronizacji nie poprosi o podanie użytkownika ani hasła.
linquize 9.10.2013
7
Uwaga: to nie zadziała, jeśli nazwa użytkownika zawiera @! Przynajmniej dla mnie jest to również zgłoszony błąd: github.com/msysgit/msysgit/issues/258
OschtärEi
5
W TortoiseGit 1.8.16 i nowszych zainstaluj Git Credential Manager dla Windows - github.com/Microsoft/Git-Credential-Manager-for-Windows - a następnie postępuj zgodnie z instrukcjami powyżej. GCM obsługuje również polecenia git w Cygwin / babun, co jest miłe.
DrStrangepork
68

Jeśli zamierzasz zanegować tę odpowiedź

Napisałem to na kilka miesięcy przed włączeniem git-credential do TortoiseGit. Biorąc pod uwagę liczbę dużych dziur w zabezpieczeniach znalezionych w ciągu ostatnich kilku lat i ile dowiedziałem się o bezpieczeństwie sieci, WYSOKIE zalecam używanie unikalnego (minimum 2048-bitowego RSA) klucza SSH dla każdego serwera, z którym się łączysz.

Poniższa składnia jest nadal dostępna, choć istnieją dziś o wiele lepsze narzędzia, takie jak git-credential ta, w której zaakceptowano odpowiedź, jak korzystać. Zrób to zamiast tego.


Spróbuj zmienić zdalny adres URL na https://[email protected]/username/repo.gitgdzie usernamejest twoja nazwa użytkownika github irepo jest nazwą repozytorium.

Jeśli chcesz również przechowywać hasło (niezalecane), adres URL wygląda następująco: https://username:[email protected]/username/repo.git .

Istnieje również inny sposób przechowywania hasła z tego artykułu pomocy github: https://help.github.com/articles/set-up-git#password-caching

Robert Rouhani
źródło
Gdzie mogę zobaczyć zdalny adres URL? W Ustawieniach -> Zdalny -> URL jest pusty. Ale
podałem
2
Kliknij „origin” w menu Remote, aby wyświetlić URL
Robert Rouhani,
Wydaje
Ups, wyciągnąłem adres URL ze starego przykładu. Szybkie spojrzenie na jedno z moich repozytoriów pokazuje, że adres URL powinien faktycznie być: https://[email protected]/username/repo.gitgdzie oba wystąpienia usernamesą Twoją nazwą użytkownika. Zaktualizowałem odpowiedź.
Robert Rouhani,
1
To rozwiązało problem znacznie szybciej i prościej: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi
25

Żadna z powyższych odpowiedzi nie działała dla mnie przy użyciu git w wersji 1.8.3.msysgit.0 i TortoiseGit 1.8.4.0.

W mojej szczególnej sytuacji muszę połączyć się ze zdalnym repozytorium git przez HTTPS, używając pełnego adresu e-mail jako nazwy użytkownika. W tej sytuacji,wincred nie wydawało się działać.

Używanie adresu e-mail jako części adresu URL repozytorium również nie działało, ponieważ oprogramowanie wydaje się być zdezorientowane podwójnym pojawieniem się znaku „@” w adresie URL.

Udało mi się pokonać problem przy użyciu winstore. Oto co zrobiłem:

Spowoduje to skopiowanie git-credential-winstore.exedo katalogu lokalnego i dodanie dwóch wierszy do globalnego katalogu .gitconfig. Możesz to zweryfikować, sprawdzając swoją globalną .gitconfig. Najłatwiej to zrobić za pomocą prawego przycisku myszy w folderze „TortoiseGit> Ustawienia> Git> Edytuj globalny .gitconfig”. Plik powinien zawierać dwa wiersze, takie jak:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • Żadne inne ustawienia TortoiseGit nie są potrzebne w „Network” lub „Credential”. W szczególności: menu rozwijane „Pomocnik poświadczeń” w obszarze „Referencje” pozostanie puste w wyniku tych linii konfiguracyjnych, ponieważ TortoiseGit nie rozpoznaje nowego pomocnika. Nie ustawiaj menu rozwijanego na inną wartość, ponieważ globalny .gitconfig zostanie zastąpiony niepoprawną wartością! (*)

Jesteś teraz gotowy do pracy:

  • Spróbuj pobrać ze zdalnego repozytorium. Zauważysz wyskakujące okienko uwierzytelniające z prośbą o podanie nazwy użytkownika i hasła, które powinno wizualnie różnić się od domyślnego wyskakującego TortoiseGit. To dobry znak i oznacza, że winstoredziała. Wprowadź poprawne uwierzytelnienie, a pobieranie powinno się powieść.
  • Spróbuj ponownie tego samego, a nazwa użytkownika i hasło nie będą już wyświetlane.

Gotowe! Ciesz się interakcjami ze zdalnym repozytorium, jednocześnie winstoredbając o uwierzytelnianie.

(*) Alternatywnie, jeśli nie podoba ci się pusty wybór w rozwijanym menu pomocnika ustawień poświadczeń TortoiseGit, możesz użyć opcji „Zaawansowane”:

  • Przejdź do „TortoiseGit> Ustawienia> Referencje”
  • Wybierz pomocnika poświadczeń „Zaawansowane”
  • Kliknij „G” (w przypadku globalnym) w obszarze Pomocnicy
  • Wprowadź ścieżkę pomocnika jak poniżej. Uwaga: normalna notacja ścieżki systemu Windows (np. „C: \ Users ...”) nie będzie tutaj działać, musisz replikować dokładnie ten wiersz, który instalacja została winstoreutworzona w globalnej wersji, .gitconfbez bitu „helper =”.

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
  • Kliknij przycisk „Dodaj nowy / Zapisz”

Patrick Atoon
źródło
Wskazałeś mi właściwy kierunek. Wystarczy użyć „wincred - aktualny użytkownik systemu Windows” i wpisać nazwę użytkownika NIE adres e-mail. To rozwiązało wszystko.
Razze
Cieszę się, że pomógł ci na właściwym torze! Jednak w moim przypadku chodzi przede wszystkim o wykorzystanie adresu e-mail. Zawiera on „@” i spowoduje problemy, jeśli spróbujesz jednego z innych przepisów.
Patrick Atoon,
2
Um,% 40 to kod „@”, więc jeśli spróbujesz „ myEmail%[email protected]/username/repo.git ”, będziesz mógł umieścić swój adres e-mail w .config Nadal nie jest zalecane, ale, to jest możliwe.
Tom Padilla,
To jest właściwy, właściwy sposób na zrobienie tego. Pobierz instalator z Microsoft / Git-Credential-Manager-for-Windows / releases , następnie kliknij setup.exeplik prawym przyciskiem myszy i uruchom jako administrator.
8

W przypadku msysgit 1.8.0 pobierz git-credential-wincred.exe ze strony https://github.com/downloads/msysgit/git/git-credential-wincred.zip i włóż do C: \ Program Files \ Git \ libexec \ git -rdzeń

Dla msysgit 1.8.1 i późniejszych, exe jest wbudowany.

w git config dodaj następujące ustawienia.

[referencja] pomocnik = wincred

linquize
źródło
Gdzie znalazłeś Tortoise Git 1.8.1.2? Widzę tylko 1.8.1.0 na ich stronie
Ken Sykora
TortoiseGit 1.8.1.2 to wersja zapoznawcza.
linquize 12.03.13
8

Zapisywanie nazwy użytkownika i hasła za pomocą TortoiseGit

Zapisywanie danych logowania w TortoiseGit jest dość łatwe. Oszczędza konieczności wpisywania nazwy użytkownika i hasła za każdym razem, gdy wykonujesz ciągnięcie lub wypychanie.

  1. Utwórz plik o nazwie _netrc o następującej treści:

    maszyna github.com
    zaloguj się twoje
    hasło do logowania twoje hasło

  2. Skopiuj plik do C: \ Users \ (lub innej lokalizacji; tak się składa, że ​​to tam, gdzie go umieściłem)

  3. Przejdź do wiersza polecenia, wpisz setx home C: \ Users \

Uwaga: jeśli używasz czegoś wcześniejszego niż Windows 7, polecenie setx może nie działać. Zamiast tego użyj polecenia set i dodaj zmienną środowiskową do systemu Windows, używając opcji Ustawienia zaawansowane w obszarze Mój komputer.

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

Anthony Keane
źródło
2
To jest najlepsze rozwiązanie! Ale czy możesz wyjaśnić związek między plikiem _netrc a git? Czy ten plik może przechowywać więcej niż jedną dziedzinę?
Alex Byrth,
8

[otwórz ustawienia git (TortoiseGit → Ustawienia → Git)] [1]

[W GIT: kliknij, aby edytować globalny .gitconfig] [2]

config nazwa użytkownika i hasło

thinhnv
źródło
8

Jeśli jesteś użytkownikiem Windows 10 + TortoiseGit 2.7:

  1. po raz pierwszy zaloguj się, postępuj zgodnie z instrukcjami, aby wprowadzić dane uwierzytelniające i zapisać hasło.
  2. Jeśli kiedykolwiek będziesz musiał zaktualizować swoje dane uwierzytelniające, nie marnuj czasu na ustawienia TortoiseGit. Zamiast tego wyszukaj w systemie Windows> Menedżer poświadczeń> Poświadczenia systemu Windows> znajdź swój wpis git> Edytuj.
Denis Wang
źródło
Oto odpowiedź, której szukasz, jeśli zmieniłeś hasło do systemu Windows, a uwierzytelnianie Git już nie działa ... W niemieckim systemie Windows wyszukaj „Anmeldeinformationsverwaltung”.
Andre,
omg dziękuję. wiem, że nie powinniśmy dodawać komentarzy z podziękowaniami. ale dziękuję !!
Stephen Hazel
0

Przejdź do repozytorium projektu, kliknij prawym przyciskiem myszy -> „Git Bash Here”

W oknie git bash wpisz

cd ~
pwd

dostaję coś takiego

/c/Users/<windows_username>

Teraz skopiuj klucze publiczne i prywatne na tę ścieżkę

C:\Users\<windows_username>\.ssh

Mam tam poniższe pliki

id_rsa
id_rsa.pub
known_hosts

tutaj

Teraz, kiedy tylko musi użyć poświadczeń, korzysta z tych plików i w razie potrzeby pyta o hasło.

rajeshk
źródło