Git-fout: ‘upstream’ lijkt geen git-repository te zijn

Ik ben erg nieuw in Git, dus ik heb wat problemen met het correcte gebruik ervan.
Hier is mijn scenario.

Ik heb een fork van mijn masterrepository en heb het gekloond naar mijn local.
Daarin heb ik 2 branches voor verschillende fixes.

Toen ik commit, zag ik een verklaring in de git-we zeggen dat ik 3 commits voor ben en ongeveer 20 commits achter.

Ik begrijp dat mijn vork niet synchroon loopt met master. Ik moet ook de twee takken samenvoegen (of moet ik het doen?)

Ik heb de Windows-client gebruikt om te synchroniseren. Maar het lijkt erop dat ik de Git-manier niet volg. Dus probeerde ik de stappen te volgen die worden beschreven in https://help.github.com/ artikelen/syncing-a-fork/die me als volgt een foutmelding geeft (ik gebruik Windows).

$>git fetch upstream
 fatal: 'upstream' does not appear to be a git repository
 fatal: Could not read from remote repository.
 Please make sure you have the correct access rights
 and the repository exists.

Ik ben een beetje in de war.
Help me alsjeblieft met de stappen die ik in dit scenario moet volgen.

@HuStmpHrrr

Sorry voor het toevoegen van de details in opmerkingen
Ik zal de vraag aanpassen voor de leesbaarheid

Door het commando uit te voeren:

 $>git remote  returning two values
  acme-development (which the name of my actual/main repository, from where I forked) and
  origin

Wat meer informatie toevoegen.


Na het maken van een fetch, probeerde ik een origin/master merge op mijn master
Zie de schermafbeelding
voer hier de afbeeldingsbeschrijving in

Maar als ik inlog op mijn online Github-account, zegt het een ander verhaal.

voer hier de afbeeldingsbeschrijving in

Mijn git-client zegt dat de lokale repo up-to-date is.
Maar de online git zegt dat we 42 commits achter hebben en 7 commits voor.


Antwoord 1, autoriteit 100%

Het artikel waarnaar je linkt (hoewel het misschien veranderd is sinds je erom vroeg) begint met een verwijzing naar https://help.github.com/articles/configure-a-remote-for-a-fork/. Als je dit voltooit, heb je een nieuwe externe repository genaamd upstream die verwijst naar de originele repository die je hebt gevorkt, en git fetch upstreamzal werken.


Antwoord 2, autoriteit 20%

Dus er zijn een paar dingen om te verduidelijken:

  • Upstreamis de conceptuele naam van de externe repository (of repositories) die bestaan. De meeste projecten hebben slechts één upstream-repository.

  • De naamvan de upstream-repository kan van project tot project verschillen, maar is volgens afspraak oorsprong.

Dat gezegd hebbende, durf ik te wedden dat je de naam van je upstream repo en het upstream repo-concept door elkaar haalt, en dat je git fetch originzou moeten uitvoeren . Verifieer met git remote; gebruik de juiste naam uit die lijst.

Als je echter maar één upstream repo hebt, zal het uitvoeren van git fetchhetzelfde bereiken.


Antwoord 3, autoriteit 6%

Dit zijn de stappen die ik vandaag heb gevolgd om datzelfde probleem op te lossen

Met de onderstaande stappen kun je je git fork en de originele repository koppelen, zodat je wijzigingen uit de originele repository kunt halen wanneer deze wordt bijgewerkt.
Ga naar de pagina van de repository op github en klik op fork (als je dat nog niet hebt gedaan). Ervan uitgaande dat je een repo genaamd repo-namehebt geforkt van https://github.com/ account/repo-naamdan krijg je een kopie (fork) van de repo op je eigen account onder iets als https://github.com/your-user-name/repo-nameVoer vervolgens de onderstaande opdrachten uit op uw terminal

  • git clone https://github.com/your-user-name/repo-name.git
    
  • cd repo-name
    
  • git remote add upstream https://github.com/account/repo-name.git
    
  • git pull upstream master
    
  • git branch --set-up-stream-to=upstream/master
    
  • git pull
    

Wanneer u wijzigingen aanbrengt en deze in de originele codebase wilt integreren, om uw wijzigingen aan de originele repo toe te voegen, moet u eerst naar uw fork pushen op github en een pull-verzoek verzenden dat vervolgens wordt geverifieerd en samengevoegd met de codebasis. Stappen hieronder.

  • git add .
    
  • git commit -m "commit message"
    
  • git push origin master
    

Ga dan naar je account op github en klik op je repo-naam. Op de pagina ziet u een link om een ​​pull-verzoek te maken. Klik op de link en maak een pull-verzoek dat vervolgens zal worden beoordeeld en samengevoegd door de beheerder.


Antwoord 4, autoriteit 4%

Voer gewoon de volgende opdracht uit op uw terminal

$ git remote add upstream {your upstream repository link here}

Snippet uitvouwen


Antwoord 5

Je moet een fork van een git-project hebben
dan:

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git,

je kunt doorgaan met git fetch upstream

Other episodes