Sklonowane repozytorium GitHub pyta o hasło, podczas gdy pierwotnie utworzone nie


9

Właśnie straciłem kilka repozytoriów z dysku, więc sklonowałem je z GitHub. Teraz pytają o nazwę użytkownika i hasło za każdym razem, gdy przesyłam coś do GitHub. Te, które nie zostały usunięte, tego nie robią.
Jedynym rozwiązaniem, które przeczytałem, aby pozbyć się pytania o nazwę użytkownika / hasło, jest wygenerowanie klucza ssh. Chodzi o to, że mam już klucz, w przeciwnym razie nie mógłbym pchać bez monitów w tych repozytoriach, których nie klonowałem.

Przejrzałem git configdwa z moich repozytoriów, jedno, które mogę wypychać bez hasła i jedno, które sklonowałem. Jedyną różnicą było branch.master.remotei branch.master.mergeustawienia, które ustawione, czyniąc git configto samo. Ale podpowiedź wciąż tam jest.

Nie jestem nawet pewien, czy wygenerowanie nowego klucza ssh będzie działać. Jakie są moje opcje?


Zobacz help.github.com/ssh-issues i podaj więcej szczegółów. Co się stanie, gdy spróbujesz SSH?

Odpowiedzi:


21

Zgaduję że:

Twoje stare repozytoria korzystały z pilotów SSH ( git@github.com:lub ssh://git@github.com/prefiksów), które korzystały z uwierzytelniania klucza publicznego. (W rzeczywistości serwer Github SSH nigdy nie prosi o hasło.)

Nowe repozytoria korzystają z pilotów HTTP ( ), które obsługują tylko uwierzytelnianie podstawowe HTTP oparte na hasłach i nie używają kluczy SSH.https://username@github.com/

Zmień zdalne adresy URL, aby ponownie korzystać z SSH. Aby to zrobić, użyj git remote set-urllub edytuj .git/config. Zastąpić

https: // nazwa użytkownika @ github.com / nazwa użytkownika / repo.git

z właśnie

git@github.com: nazwa użytkownika /repo.git

Możesz nawet mieć wpis, ~/.gitconfigktóry mówi gitowi, aby tłumaczył zdalne adresy URL z HTTP lub Git na SSH.

W ten sposób, jeśli twoje repozytorium jest skonfigurowane dla zdalnego HTTP lub Git, git zignoruje to ustawienie podczas wypychania i zamiast tego użyje SSH.

[url "git@github.com:"]
    pushInsteadOf = git://github.com/
    pushInsteadOf = https://github.com/

( insteadOf =Możliwe jest również ustawienie, aby zastąpić zarówno ciągnięcie, jak i pchanie).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.