To pytanie jest związane z moim problemem w zrozumieniu rebase, rozgałęzienia i scalania oraz z problemem
Jak możesz zaangażować się w swoje konto Github, skoro masz członka zespołu na zdalnej liście?
Dowiedziałem się, że inni ludzie mieli ten sam problem. Wydaje się, że problem jest związany z /etc/xinet.d/.
Problem: nie można przekazać oddziału lokalnego do oddziału głównego na Github
biegnę
git push origin master
dostaję
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Komunikat o błędzie sugeruje mi, że gałąź „pochodzenia” nie znajduje się w moim lokalnym repozytorium git. W ten sposób Git przestaje łączyć się z Githubem.
To dziwne, ponieważ nie usunąłem „pochodzenia” gałęzi.
Moje drzewo git to
dev
* master
ticgit
remotes/Math/Math
remotes/Math/master
remotes/origin/master
remotes/Masi/master
Jak możesz przenieść swój lokalny oddział do Github , skoro masz oddział członka zespołu w lokalnym Git?
Odpowiedź VonC rozwiązuje główny problem. Włożyłem hasła do moich kluczy SSH.
biegnę
$git push github master
dostaję
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Wygląda na to, że muszę jakoś podać hasło do Gita.
Jak sprawić, by Github pytał o twoje hasło zamiast polegać na kluczu ssh?
źródło
Odpowiedzi:
Co robi
zwraca (wykonywane w repozytorium git)?
Origin to tylko domyślna konwencja nazewnictwa odnosząca się do zdalnego repozytorium Git.
Jeśli nie odnosi się do GitHub (ale raczej ścieżka do repozytorium członków zespołu, ścieżka, która może być już nieważna lub niedostępna), po prostu dodaj inne źródło, jak w tym wpisie Bloggitation
(Właściwie użyłbym nazwy „github” zamiast „pochodzenie” lub „pochodzenie2”)
Sprawdź, czy Twoja tożsamość gitHub jest poprawnie zadeklarowana w lokalnym repozytorium Git, jak wspomniano w przewodniku pomocy GitHub . (zarówno nazwa.użytkownika, jak i github.name - oraz github.token)
Następnie blog Stonean sugeruje (podobnie jak Marcio Garcia ):
Aral Balkan dodaje: utwórz plik konfiguracyjny
Możesz również opublikować wynik
aby uzyskać więcej informacji, dlaczego połączenie GitHub ssh odrzuca Cię.
Sprawdź również, czy poprawnie wpisałeś swój klucz publiczny (musi kończyć się na '
==
').Nie wklejaj swojego klucza prywatnego, ale swojego publicznego. Klucz publiczny wyglądałby mniej więcej tak:
(Uwaga: czy użyłeś hasła do kluczy SSH? Byłoby łatwiej bez hasła)
Sprawdź również adres URL używany podczas wypychania (
[email protected]/...
, niegit://github.com/...
)Sprawdź, czy masz agenta SSH do użycia i zapisz klucz w pamięci podręcznej.
Spróbuj tego:
Jeśli to zadziała, oznacza to, że twój klucz nie jest wysyłany do GitHub przez twojego klienta ssh.
źródło
To jest problem z twoim pilotem. Kiedy to zrobisz
git push origin master
,origin
jest zdalny imaster
jest gałęzią, którą pchasz.Kiedy to robisz:
Założę się, że lista nie zawiera
origin
. Aby ponownie dodać pierwotnego pilota:Lub, jeśli istnieje, ale jest nieprawidłowo sformatowany:
źródło
Odpowiedź VonC jest najlepsza, ale część, która zadziałała dla mnie, była bardzo prosta i jest trochę pogrzebana wśród wielu innych możliwych odpowiedzi. Jeśli jesteś podobny do mnie, napotkałeś ten problem podczas wykonywania samouczka „Pierwsze kroki z railsami” i NIE ustawiłeś publicznych / prywatnych kluczy SSH.
Jeśli tak, spróbuj tego:
$>cd ~/.ssh
$>ls
Jeśli wyjście ls to
known_hosts
i nic więcej, odwiedź: http://help.github.com/mac-key-setup/ i zacznij postępować zgodnie z instrukcjami z sekcji „Generowanie klucza” i w dół.Po uruchomieniu tych instrukcji moje polecenie „git push origin master” zadziałało.
źródło
git push origin master.
To była moja pierwsza konfiguracja Git and Rails. Miejmy nadzieję, że pomogło to innym ludziom.Mam ten sam problem i myślę, że zapora sieciowa blokuje protokół git. Więc w końcu muszę uciec się do używania https: // do pobierania i wysyłania. Jednak zawsze będzie to monitować użytkownika o wprowadzenie hasła ...
oto przykład, co działa dla mnie (tylko po to, aby podzielić się z tymi, którzy nie mogą użyć protokołu git: // :)
jeśli powyższe zadziała, możesz usunąć źródło i zastąpić
źródło
~/.netrc
pliku do przechowywania hasła. Jest używany przezcurl
, czyli to, czego używa git do transferów HTTP (S), na wypadek, gdybyś musiał sprawdzić, jak go używać.~/_netrc
('_
', nie '.
')Myślę, że to kolejny przypadek mylących komunikatów o błędach git. Zwykle, gdy widzę ten błąd, jest to spowodowane problemami z ssh. Czy dodałeś publiczny klucz SSH do swojego konta github?
Edycja: Również post na forum xinet.d odnosi się do uruchomienia demona git jako usługi, aby ludzie mogli ściągać z twojego systemu. Nie jest konieczne uruchamianie git-daemon, aby wypchnąć na github.
źródło
Mam ten sam problem i właśnie dodałem zawartość ~ / .ssh / id_rsa.pub do mojego konta w GitHub. Następnie spróbuj ponownie
git push origin master
, powinno działać.źródło
Kluczową rzeczą do zapamiętania jest to, że „pochodzenie” nie jest wartością, której możesz potrzebować… zadziałało, gdy zastąpiłem „pochodzenie” nazwą repozytorium.
źródło
Jedną z możliwości, której powyższe odpowiedzi nie dotyczą, jest to, że możesz nie mieć dostępu ssh ze swojej powłoki. Oznacza to, że możesz znajdować się w sieci (niektóre sieci uniwersyteckie tak robią), w której usługa ssh jest zablokowana, w takim przypadku będziesz mógł nie tylko korzystać z usług github, ale także innych usług ssh. Możesz sprawdzić, czy to jest problem, próbując użyć innej usługi ssh, tak było w moim przypadku.
źródło
Miałem ten problem i próbowałem różnych rozwiązań, w tym wielu z wymienionych powyżej (plik konfiguracyjny, debugowanie ssh itp.). Ostatecznie rozwiązałem to, włączając przełącznik -u w git push, zgodnie z instrukcjami github podczas tworzenia nowego repozytorium na miejscu - Github new Repository
źródło