AlfredPteD schreef op donderdag 20 februari 2025 @ 16:13:
[...]
![]()
Ik geloof je graag, maar dit is voor mij abacadabra. waarschijnlijk les 17. Ik ben bij les 1.
offtopic:
Sorry, ik zit in mijn werkbubbel, waar iedereen en zn moeder git droomt.
In dat geval hier een visuele beschrijving:
https://www.poppastring.c.../rebase_catchup_thumb.jpg
- Je forkt de repo, maakt een branch ("feature" hier) op de base branch ("master" hier).
- De base branch op de originele repo wordt geupdate
- Je synchroniseert de base branch van jouw fork (github "Sync fork" knop)
- Je doet een rebase. Dat probeert de commits/changes die jij hebt gedaan stuk-voor-stuk opnieuw toe te passen op een andere locatie (commit).
Als dat meteen lukt dan heb je dus de laatste changes van "upstream" (de originele repo), plus je eigen changes. Test wel altijd of het werkt, want het kan natuurlijk dat door een grote aanpassing upstream je ineens ook nog ergens anders een aanpassing moet doen voordat jouw changes weer werken zoals ze voorheen deden.
Denk hierbij bijvoorbeeld aan een nieuwe sensor die berekend wordt uit andere sensoren. Als je namen aanpast dan zal je mogelijk ook die aanpassing moeten doen in de code die de berekening uitvoert, omdat die de namen van upstream gebruikt i.p.v. jouw veranderde namen.
Soms gaat een rebase niet meteen goed, bijvoorbeeld als op de originele repo namen aangepast zijn, en jouw commit ook de naam aanpast. Bijvoorbeeld als "bar" hernoemd is naar "baz" en jij "bar" hernoemde naar "foo", dan zegt git conflict: je probeert "bar" te hernoemen naar "baz" maar "bar" bestaat niet meer, er staat nu "foo", niet "bar" en krijg je iets voor je neus om het conflict op te lossen.
Sorry, ik zit in mijn werkbubbel, waar iedereen en zn moeder git droomt.
In dat geval hier een visuele beschrijving:
https://www.poppastring.c.../rebase_catchup_thumb.jpg
- Je forkt de repo, maakt een branch ("feature" hier) op de base branch ("master" hier).
- De base branch op de originele repo wordt geupdate
- Je synchroniseert de base branch van jouw fork (github "Sync fork" knop)
- Je doet een rebase. Dat probeert de commits/changes die jij hebt gedaan stuk-voor-stuk opnieuw toe te passen op een andere locatie (commit).
Als dat meteen lukt dan heb je dus de laatste changes van "upstream" (de originele repo), plus je eigen changes. Test wel altijd of het werkt, want het kan natuurlijk dat door een grote aanpassing upstream je ineens ook nog ergens anders een aanpassing moet doen voordat jouw changes weer werken zoals ze voorheen deden.
Denk hierbij bijvoorbeeld aan een nieuwe sensor die berekend wordt uit andere sensoren. Als je namen aanpast dan zal je mogelijk ook die aanpassing moeten doen in de code die de berekening uitvoert, omdat die de namen van upstream gebruikt i.p.v. jouw veranderde namen.
Soms gaat een rebase niet meteen goed, bijvoorbeeld als op de originele repo namen aangepast zijn, en jouw commit ook de naam aanpast. Bijvoorbeeld als "bar" hernoemd is naar "baz" en jij "bar" hernoemde naar "foo", dan zegt git conflict: je probeert "bar" te hernoemen naar "baz" maar "bar" bestaat niet meer, er staat nu "foo", niet "bar" en krijg je iets voor je neus om het conflict op te lossen.