Mam prywatne repozytorium w Github dla projektu, nad którym pracuję. Do tej pory pracowałem tylko na domowym pulpicie, ale właśnie kupiłem laptopa i próbuję go skonfigurować, aby móc pracować nad projektem z dowolnego komputera i zmieniać zmiany w trybie push / pull.
Dodałem nowy klucz SSH do mojego konta Github na laptopie i udało mi się sklonować i wprowadzić zmiany w skonfigurowanym publicznym repozytorium testowym. Nie udało mi się jednak sklonować prywatnego repozytorium. Czy jest coś specjalnego, co muszę zrobić w wierszu polecenia, aby sklonować prywatne repozytorium? Czy muszę założyć nowe konto GitHub na moim laptopie i skonfigurować się jako współpracownik?
Poleceniem, którego użyłem, było git clone git://github.com/myusername/reponame.git
Odpowiedzi:
Prywatne sklonowane adresy URL mają formę
[email protected]:username/repo.git
- być może trzeba było użyćgit@
zamiastgit://
?git://
Adresy URL są tylko do odczytu i wygląda na to, że prywatne repo nie pozwalają na tę formę dostępu.źródło
To działało dla mnie:
git clone https://[email protected]/username/repo_name
Było to oczywiście po dodaniu mojego klucza SSH do Github . Użyłem tego na serwerze CentOs, jeśli to konieczne.
źródło
To działało dla mnie:
źródło
git clone https://[email protected]/username/repo_name.git
Spotkałem się z tym problemem kilka razy i za każdym razem, gdy trafiłem na tę stronę, próbowałem wszystkiego i nie udało mi się!
To dlatego, że mam włączone 2FA !!!
Według https://help.github.com/articles/which-remote-url-should-i-use/#when-2fa-is-enabled
git clone https://github.com/username/repo_name.git
(Domyślny link repozytorium git jest wystarczająco dobry!)Aktualizacja:
Użyj
git config credential.helper store
(nie rób tego na maszynie, której nie ufasz)źródło
Korzystając z Git dla Windows, łatwiej jest użyć adresu URL HTTPS.
Następnie otwórz git shell
git clone https://github.com/user/repo
. Po wyświetleniu monitu wprowadź nazwę użytkownika i hasło. Nie trzeba konfigurować klucza SSH.źródło
Dla mnie rozwiązaniem było:
Tutaj musisz być właścicielem repozytorium, ale jeśli tak nie jest, będzie działać jak
Jeśli tak,
2FA enabled
to:git clone https://[email protected]
Gdy pojawi się monit o hasło, umieść ten token tutaj.
źródło
Mam włączone konto firmowe (prywatne) i uwierzytelnianie 2-czynnikowe, więc musiałem połączyć kilka postów, aby działało jak poniżej. (Zapisywanie w dół, aby mogło być przydatne dla kogoś w tej samej sytuacji)
Zainstalowałem menedżera poświadczeń i zaktualizowałem GIT, jak wspomniano tutaj: https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-encountered/
To nie rozwiązało problemu, ponieważ problem przeniósł się na niżej, gdy próbowałem użyć polecenia klonowania w następujący sposób:
Moje hasło zawierało symbol $ iz jakiegoś powodu linia poleceń GIT / GIT Bash mi się nie podobało. Widzę to na zwrócony tekst błędu nie zawierał symbolu $.
Musiałem odwoływać się do tej witryny: https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage
Teraz wyskoczył menedżer poświadczeń systemu Windows. Wpisałem nazwę użytkownika i hasło w polach tekstowych (to zaakceptowało moje hasło, które miało symbol $) i poprosiło mnie o podanie kodu 2-Factor Authentication. Wpisałem kod uwierzytelniający z Google Authenticator, a klon zaczął się idealnie.
źródło
$
jest zastrzeżoną postacią w Uniksie. Oznacza początek pobierania wartości zmiennej o nazwie równej ciągowi znaków po$
symbolu.Klonując z prywatnych repozytoriów z włączoną funkcją 2FA, musisz wykonać proste kroki
źródło
W odpowiedzi na odpowiedź Mac, można uzyskać dostęp do SSH klonowania adresu URL w GitHub repo stronę, klikając
SSH
naYou can clone with HTTPS, SSH, or Subversion.
i skopiuj URL.źródło
To działało dla mnie na Macu
git clone https://[email protected]:username/repo_name
źródło
Oprócz odpowiedzi MK Yunga: upewnij się, że dodajesz klucz publiczny do każdego miejsca, w którym wdrażasz, do kluczy wdrażania dla repozytorium, jeśli nie chcesz otrzymywać odpowiedzi 403 Forbidden.
źródło
Najpierw upewnij się, że masz klucz SSH lub wygeneruj go na: https://help.github.com/articles/generating-ssh-keys/
Po otrzymaniu klucza musisz dodać go do konta github pod adresem : https://github.com/settings/ssh
Użytkownicy systemu Windows powinni uruchomić git bash jako administrator.
Teraz klonowanie powinno działać w przypadku prywatnych repozytoriów (repo), bez konieczności podawania nazwy użytkownika i hasła.
źródło
Potrzebowałem nieinteraktywnej metody klonowania prywatnego repozytorium.
Inspirowany tym problemem: https://github.com/github/hub/issues/1644
Krok 1.
Utwórz osobisty token dostępu w ustawieniach programisty github: https://github.com/settings/tokens
Krok 2.
źródło
Jeśli nowo używany komputer ma inne dane uwierzytelniające, uruchom tę komendę
bezpośrednio nie będzie działać. Git spróbuje użyć zapisanych poświadczeń i nie poprosi o podanie nazwy użytkownika i hasła. Ponieważ niezgodność poświadczeń jest niezgodna, git zostanie wypisany,
Repository not found
a operacja klonowania zakończy się niepowodzeniem. Sposób, w jaki to rozwiązałem, polegał na usunięciu starych poświadczeń, ponieważ już ich nie używam, ponownie uruchomiłem wyżej wspomniane polecenie i wprowadziłem wymaganą nazwę użytkownika i hasło oraz sklonowałem prywatne repozytorium.źródło
1) spróbuj uruchomić polecenie z nazwą użytkownika i hasłem w poniższym formacie
teraz problem, o którym wspominali inni, dotyczy tego, że w haśle mamy znak specjalny. W JavaScript użyj poniższego kodu do konwersji hasła ze znakami specjalnymi na kodowanie UTF-8.
teraz użyj wygenerowanego hasła zamiast hasła ze znakami specjalnymi i uruchom polecenie.
Mam nadzieję, że to rozwiązanie problemu.
źródło
Dodaj swój klucz publiczny ssh na pulpicie w github.
https://github.com/settings/keys
Możesz sklonować repozytorium bez żadnego hasła.
źródło
Jeśli masz pewność, że nie masz włączonej funkcji 2FA, masz uprawnienia dostępu do repozytorium, a repozytorium istnieje, możliwe, że twój [email protected] jest zalogowany przy użyciu innego konta.
aby sprawdzić, czy dasz radę
Jeśli pokazuje inne konto, aby rozwiązać ten problem:
źródło
unknown option -T
. Moja wersja git to2.7.4
ssh -T [email protected]
Jeśli chcesz to osiągnąć
Dockerfile
, poniżej linii pomaga.Następnie możemy zbudować z poniższym argumentem.
źródło
Gdy próbujesz użyć prywatnego repozytorium z repozytorium, musisz podać nazwę użytkownika i hasło.
źródło