Dlaczego Git mówi mi „Nie ma takiego zdalnego 'pochodzenia'”, kiedy próbuję push to origin?

113

Jestem bardzo nowy w Git; Dopiero niedawno utworzyłem konto GitHub.

Właśnie próbowałem przekazać moje pierwsze repozytorium (przykładowy projekt), ale pojawia się następujący błąd:

No such remote 'origin'

Uruchomiłem następujące polecenia:

git init
git commit -m "first commit"
git remote add origin https://github.com/VijayNew/NewExample.git
git push -u origin master

Jednak gdy uruchomiłem polecenie git commit -m "first commit", otrzymałem następujący komunikat:

nothing added to commit but untracked files present (use "git add" to track)

Więc spróbowałem ustawić origin, używając

git remote set-url origin https://github.com/VijayNew/NewExample.git

Ale mam następujący błąd:

No such remote 'origin'

Co zrobiłem źle i co powinienem zrobić?

Vijay
źródło
Co ci daje git-remote -v?
hek2mgl
1
między initem a zatwierdzeniem dodaj „git add”. krok. Jakie dane wyjściowe oferuje "git remote" (lub git remote -v ")?
git remote -vNic nie jest wyświetlaczem.
Vijay
1
czy dodałeś „git add” ?????
Raja Simon
3
Kiedy uruchamiasz nowe repozytorium, pierwszym poleceniem REMOTE powinno być git remote add origin [email protected]: mygit, jeśli uruchomisz git remote set-url origin [email protected]: mygit, otrzymasz komunikat o błędzie: Nie ma takiego odległe „pochodzenie”. Napotykam ten sam problem i zajęło mi to kilka minut, zanim to rozgryzłem. Mam nadzieję, że to pomoże innym.
Kemin Zhou

Odpowiedzi:

157

Dwa problemy:

1 - Nigdy nie powiedziałeś Gitowi, aby zaczął śledzić żaden plik

Piszesz, że biegałeś

git init
git commit -m "first commit"

i na tym etapie masz

nothing added to commit but untracked files present (use "git add" to track).

Git mówi ci, że nigdy nie kazałeś mu zacząć śledzić żadnych plików i nie ma nic do zrobienia migawki. Dlatego Git nie tworzy żadnego zatwierdzenia. Przed podjęciem próby zatwierdzenia, powinieneś powiedzieć Gitowi (na przykład):

Hej Git, widzisz ten README.mdplik bezczynnie siedzący w moim katalogu roboczym, tam? Czy mógłbyś umieścić to dla mnie pod kontrolą wersji? Chciałbym, żeby to było w moim pierwszym zatwierdzeniu / migawce / wersji ...

Do tego trzeba wystawić pliki interesów, korzystając

git add README.md

przed uruchomieniem

git commit -m "some descriptive message"

2 - Nie skonfigurowałeś zdalnego repozytorium

Wtedy uciekłeś

git remote add origin https://github.com/VijayNew/NewExample.git

Następnie twoje lokalne repozytorium powinno być w stanie komunikować się ze zdalnym repozytorium, które znajduje się pod określonym adresem URL ( https://github.com/VijayNew/NewExample.git ) ... pod warunkiem, że zdalne repozytorium faktycznie istnieje! Jednak wygląda na to, że nigdy nie utworzyłeś tego zdalnego repozytorium na GitHubie: w momencie pisania tej odpowiedzi, jeśli spróbuję odwiedzić odpowiedni adres URL, otrzymuję

wprowadź opis obrazu tutaj

Przed podjęciem próby wypchnięcia do tego zdalnego repozytorium należy się upewnić, że to drugie faktycznie istnieje. Więc przejdź do GitHub i utwórz zdalne repozytorium, o którym mowa. Wtedy i tylko wtedy będziesz w stanie skutecznie pchać

git push -u origin master
jub0bs
źródło
@ Jubobs. Pierwszy problem to mój błąd. Teraz mi się to podoba. git init git add --all git commit -m "first commit". Teraz działa. 2) Właściwie usunąłem swoje konto przed upływem 20 minut. Teraz utworzyłem nowe konto. https://github.com/VijayMobileApp/WindowsPhoneExample.git
Vijay
I nadal dostajęremote: Repository not found. fatal: repository 'https://github.com/VijayNew/NewExample.git/' not found
Vijay
@Vijay usunąłeś swoje stare konto, ale nadal jest ono używane
Raja Simon
$ git remote set-url origin https://github.com/VijayMobileApp/WindowsPhoneExamp le.git fatal: No such remote 'origin'
Vijay
1
Odwiedzając adres URL, widzę, że już teraz stworzył repo o nazwie WindowsPhoneExamplena koncie GitHub, VijayMobileApp. Teraz musisz tylko uruchomić git remote add origin https://github.com/VijayMobileApp/WindowsPhoneExample. Wtedy powinieneś być w stanie naciskać git push -u origin master.
jub0bs
42

Domyślam się, że nie uruchomiłeś tego polecenia po niepowodzeniu zatwierdzenia, więc po prostu uruchom to, aby utworzyć pilota:

 git remote add origin https://github.com/VijayNew/NewExample.git

Zatwierdzenie nie powiodło się, ponieważ potrzebujesz git addniektórych plików, które chcesz śledzić.

Emil Davtyan
źródło
1
To polecenie informuje lokalne repozytorium tylko o zdalnym. W rzeczywistości nie tworzy zdalnego repozytorium na serwerach GitHub, co, jak sądzę, musi tutaj zrobić OP.
jub0bs
1
Dobrze wiem, co robi polecenie. Z pytania, które zgadywałem, użytkownik prawdopodobnie wkleił wszystkie polecenia naraz, a zatwierdzenie nie powiodło się, więc tak naprawdę nigdy nie dodał pilota.
Emil Davtyan
1
Żeby było jasne, nie sugerowałem, że nie wiesz, co git remote addrobi. :)Po prostu nie rozważałeś możliwości, że OP nigdy nie utworzył zdalnego repozytorium.
jub0bs
2
Miałem ten sam problem i już utworzyłem zdalne repozytorium. Ta odpowiedź była rozwiązaniem.
sdjuan
To jest to, czego potrzebowałem, wiersz poleceń (set-url) był sugestią - dodaj, która w ogóle nie działała. dzięki
Xeuron
17

Napotkałem ten problem, gdy próbowałem połączyć lokalnie utworzone repozytorium z pustym repozytorium na github. Początkowo próbowałem, git remote set-urlale git remote addzamiast tego musiałem to zrobić .

git remote add origin https://github.com/VijayNew/NewExample.git
ishandutta2007
źródło