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
Maar als ik inlog op mijn online Github-account, zegt het een ander verhaal.
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 upstream
zal 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 origin
zou 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 fetch
hetzelfde 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}
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