Waarom zegt Git me “Geen dergelijke externe ‘oorsprong'” wanneer ik probeer naar de oorsprong te pushen?

Ik ben erg nieuw voor Git; Ik heb pas onlangs een GitHub-account gemaakt.

Ik heb net geprobeerd mijn allereerste repository (een voorbeeldproject) te pushen, maar ik krijg de volgende foutmelding:

No such remote 'origin'

Ik heb de volgende opdrachten uitgevoerd:

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

Toen ik echter git commit -m “first commit” uitvoerde, kreeg ik het volgende bericht:

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

Dus toen probeerde ik originin te stellen met behulp van

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

Maar ik kreeg de volgende foutmelding:

No such remote 'origin'

Wat heb ik verkeerd gedaan en wat moet ik doen?


Antwoord 1, autoriteit 100%

Twee problemen:

1 – Je hebt Git nooit verteld om een ​​bestand te gaan volgen

Je schrijft dat je hebt gerend

git init
git commit -m "first commit"

en dat, in dat stadium, heb je

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

Git vertelt je dat je het nooit hebt verteld om bestanden te gaan volgen, en het heeft niets om een ​​momentopname van te maken. Daarom creëert Git geen commit. Voordat je probeert te committen, moet je Git vertellen (bijvoorbeeld):

Hé Git, zie je dat README.md-bestand daar werkeloos in mijn werkdirectory staan? Zou je het voor mij onder versiebeheer kunnen zetten? Ik wil graag dat het in mijn eerste commit/snapshot/revisie gaat…

Daarvoor moet je fasede bestanden van belang, met behulp van

git add README.md

voorhardlopen

git commit -m "some descriptive message"

2 – U heeft de externe repository niet ingesteld

Je rende toen

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

Daarna moet uw lokale repository kunnen communiceren met de externe repository die zich op de opgegeven URL bevindt (https://github.com/VijayNew/NewExample.git)… op voorwaarde dat de externe repo echt bestaat!
Het lijkt er echter op dat je die externe repo nooit op GitHub hebt gemaakt: op het moment dat ik dit antwoord schrijf, krijg ik

voer hier de afbeeldingsbeschrijving in

Voordat u probeert om naar die externe repository te pushen, moet u ervoor zorgen dat de laatste daadwerkelijk bestaat. Ga dus naar GitHub en maak de betreffende externe repo aan. Dan en alleen dan kun je succesvol pushen met

git push -u origin master

Antwoord 2, autoriteit 26%

Ik vermoed dat je dit commando niet hebt uitgevoerd nadat de commit is mislukt, dus voer dit gewoon uit om de afstandsbediening te maken:

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

En de commit is mislukt omdat je een aantal bestanden moet git adddie je wilt bijhouden.


Antwoord 3, autoriteit 12%

Ik heb met dit probleem te maken gehad toen ik probeerde een lokaal gemaakte opslagplaats te koppelen aan een lege opslagplaats op github.
Aanvankelijk probeerde ik git remote set-urlmaar ik moest in plaats daarvan git remote adddoen.

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

Antwoord 4, autoriteit 2%

De volgende stappen werken voor mij:

Init

Initialiseer eerst de repository om met gitte werken, zodat eventuele bestandswijzigingen worden bijgehouden:

git init

Maak alias oorsprong

Controleer vervolgens of de externe repository die u wilt koppelen aan de aliasoriginbestaat, zo niet, maak deze dan eerst aan in git.

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

Als het bestaat, koppel het dan aan de externe alias“oorsprong”:

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

en controleer bij welke URL de remote alias“oorsprong”hoort door git remote -vte gebruiken:

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

Verifieer de oorsprong van de alias

Vervolgens, verifieerof uw aliasoorsprongheeft de juiste aliasals volgt:

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

Je moetdeze sectie [remote "origin"]zien. U kunt overwegen om GitHub Desktopte gebruiken die beschikbaar is voor zowel Windows als MacOS, waardoor ik automatisch de ontbrekende sectie kan vullen/ s in ~./git/configbestand OF je kunt het handmatig toevoegen, niet geweldig, maar hey het werkt!

Trek alle inhoud van de externe hoofdtak

$ git pull origin main

Hiermee wordt alle inhoud die je hebt in de repository die je zojuist hebt gealiaseerd naar originnaar de lokale repository getrokken, inclusief .gitignore, waardoor de branch mainin het proces.

Controleer hoofdtak

$ git branch
* main

Dit zal je laten zien dat de mainbranch is aangemaakt en dat je er nu op zit.

Optioneel

Misschien wilt u ook de originaliaswijzigen om deze intuïtiever te maken, vooral als u met meerdere originwerkt:

git remote rename origin my-super-git-repo

Eindelijk

git add .
git status //If you want to check what's going to be committed
git commit -m 'First commit' //-m is for message
git push origin main

Je ziet een aantal regels als volgt:

Objecten opsommen: 22, klaar.
Objecten tellen: 100% (22/22), klaar.
Delta-compressie met maximaal 8 threads
Objecten comprimeren: 100% (13/13), klaar.
Schrijfobjecten: 100% (21/21), 4,29 KiB | 292,00 KiB/s, klaar.
Totaal 21 (delta 2), hergebruikt 0 (delta 0), hergebruikt 0
afstandsbediening: Delta’s oplossen: 100% (2/2), klaar.
Naar https://github.com/repo-owner/repo-name.git

948279c..1f3b0b8 hoofd-> hoofd

Other episodes