0%

Lokaal samenwerken · oefening

De geïntegreerde geschiedenis pushen

De lokale main bevat nu één schone merge van het werk aan ontvangstbewijzen en het werk van de collega aan hoeveelheden. De bare origin wijst nog naar de eerdere tip van de collega. Door de branch main van origin naar de geïntegreerde lokale tip te verplaatsen, behoud je beide kanten.

Controleer wat je overdraagt voordat je het verstuurt

Het gewone rapport van git status hoort te zeggen dat de werkboom schoon is en de lokale main voorloopt op origin/main. De opdracht git log --oneline origin/main..main gebruikt het geschiedenisbereik uit de vorige les om te tonen wat de push aan origin toevoegt: jouw twee commits voor ontvangstbewijzen en de mergecommit die de lijnen samenbrengt. De optie --oneline beperkt elk resultaat tot een verkort ID en het onderwerp.

git status
git log --oneline origin/main..main

Deze controle gaat over de geschiedenis die gedeeld wordt. Ze voorspelt geen reeks bestandsuploads. Git verstuurt eventuele ontbrekende commitobjecten en vraagt origin daarna zijn branchref te verplaatsen.

Push het veilige resultaat

De opdracht git push gebruikt de upstreamrelatie die al voor main is ingesteld. Deze keer is de huidige tip van de bare origin een voorouder van de geïntegreerde lokale tip. De update is dus een fast-forward en behoudt alles wat origin al had:

git push
git status

Na de geslaagde push werkt Git ook de lokale remote-tracking ref origin/main bij. De lokale main, lokale origin/main en main van de bare origin benoemen nu dezelfde geïntegreerde commit. De aparte kloon colleague verandert niet automatisch; zijn lokale main en laatst geziene origin/main blijven bij de eerdere tip van de collega totdat iemand weer in die kloon werkt.

Dezelfde git push werd in de vorige les afgewezen en in deze les geaccepteerd. Wat veranderde?

Dat is een volledige samenwerkingsronde: andermans werk kwam binnen, je bekeek het, combineerde het met je eigen werk zonder een van beide kanten weg te gooien en gaf het resultaat terug. Elke repository die vanaf nu van origin fetcht ontvangt het werk van beide mensen in één geschiedenis.

Er was nergens een account, wachtwoord of netwerkverbinding voor nodig. Het enige wat een hostingdienst zou hebben veranderd, is de afstand tussen die mappen.