Dlaczego Git mówi mi "No such remote 'origin'", kiedy próbuję wcisnąć origin?

Jestem zupełnie nowy w Git; niedawno utworzyłem konto na Githubie.

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

No such remote 'origin'

Uruchomiłem następujące komendy:

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

Jednak, kiedy uruchomiłem 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 wtedy pró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 mam zrobić?

Author: jub0bs, 2014-08-26

4 answers

Dwa problemy:

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

Piszesz, że uciekłeś

git init
git commit -m "first commit"

I że 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 z czego robić migawki. Dlatego Git nie tworzy commita. Przed przystąpieniem do commit, powinieneś powiedzieć Gitowi (na przykład):

Hej Git, widzisz, że README.md plik bezczynnie siedzi w mojej pracy katalog, tam? Możesz to dla mnie sprawdzić? Chciałbym, aby to było w moim pierwszym commit/snapshot/revision...

Do tego trzeba etap pliki będące przedmiotem zainteresowania, za pomocą

git add README.md

before running

git commit -m "some descriptive message"

2-nie skonfigurowałeś zdalnego repozytorium

Potem uciekłeś

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

Następnie 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 remote repo rzeczywiście istnieje! Jednak wydaje się, że nigdy nie stworzyłeś tego zdalnego repo na Githubie: w momencie pisania tej odpowiedzi, jeśli próbuję odwiedzić adres URL correponding, dostaję

Tutaj wpisz opis obrazka

Zanim spróbujesz przejść do tego zdalnego repozytorium, musisz się upewnić, że to drugie repozytorium rzeczywiście istnieje. Więc przejdź do GitHub i utwórz zdalne repo, o którym mowa. Wtedy i tylko wtedy będziesz w stanie skutecznie naciskać z

git push -u origin master
 178
Author: jub0bs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:33

Zgaduję, że nie uruchomiłeś tego polecenia po nieudanym zatwierdzeniu, więc po prostu uruchom to, aby utworzyć Zdalnego:

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

I zatwierdzenie nie powiodło się, ponieważ musisz git add niektóre pliki, które chcesz śledzić.

 45
Author: Emil Davtyan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-26 10:09:45

Napotkałem ten problem, gdy próbowałem połączyć lokalnie utworzony repo z pustym repo na GitHubie. Początkowo próbowałem git remote set-url, ale zamiast tego musiałem zrobić git remote add.

git remote add origin https://github.com/VijayNew/NewExample.git
 19
Author: ishandutta2007,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-30 00:55:29

Następujące proste kroki mi pomagają:

Najpierw zainicjalizuj repozytorium do pracy z Git, tak aby wszystkie zmiany w pliku były śledzone:

git init

Następnie sprawdź, czy zdalne repozytorium, które chcesz powiązać z aliasem origin, istnieje, jeśli nie utwórz go w git.

$ git ls-remote https://github.com/repo-owner/repo-name.git/

Jeśli istnieje, powiązać go z remote "pochodzenie":

git remote add origin https://github.com:/repo-owner/repo-name.git

I sprawdź do którego adresu URL należy zdalne"pochodzenie" używając git remote -v:

$ git remote -v
origin  https://github.com:/repo-owner/repo-name.git (fetch)
origin  https://github.com:/repo-owner/repo-name.git (push)

Następny, zweryfikuj Czy Twoje pochodzenie jest poprawne aliased następująco:

$ cat ./.git/config
:
[remote "origin"]
        url = https://github.com:/repo-owner/repo-name.git
        fetch = +refs/heads/*:refs/remotes/origin/*
:

You need to see this section [remote "origin"]. Możesz rozważyć użycie GitHub Desktop dostępnego zarówno dla Windows, jak i MacOS, które pomagają mi automatycznie wypełniać brakujące sekcje w pliku ~./git/config lub możesz ręcznie dodać go, nie świetnie, ale hej, to działa!

[Opcjonalnie]
Możesz również zmienić alias origin na uczyń go bardziej intuicyjnym, zwłaszcza jeśli pracujesz z wieloma origin:

git remote rename origin mynewalias

Lub nawet usunąć:

git remote rm origin

Wreszcie, przy pierwszym naciśnięciu, jeśli chcesz, aby master w tym repozytorium było twoim domyślnym pod prąd. możesz dodać parametr -u

git add .
git commit -m 'First commit'
git push -u origin master
 0
Author: jumping_monkey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-05 02:35:04