8. I'M DOING A (FREE) OPERATING SYSTEM
(JUST A HOBBY, WON'T BE BIG AND
PROFESSIONAL LIKE GNU) FOR 386(486)
AT CLONES.
Linus Torvalds, 25-08-1991
GIT HISTORY
11. BITKEEPER
Gratis voor Linux-maintainers (niet opensource)
Iemand probeert Bitkeeper te reverse
engineeren
Bitkeeper stopt met Linux te steunen
April 2005 gestart met eerste versie git
GIT HISTORY
15. GIT == DATA-INTEGRITEIT
Alles in git gechecksummed met SHA-1
hash naar een hexadecimale string van 40
karakters
Elke wijziging opspoorbaar
Alles is omkeerbaar
GIT BASICS
16. 3 STADIA
Modi鍖ed
Gewijzigd maar niet opgeslagen
Staged
Klaargezet om te committen
Cmmitted
Opgeslagen
GIT BASICS
17. BRANCHING
Branch is een snapshot van de situatie
op het moment waar de branch
afgetakt is
Branch is letterlijk een aftakking
Je kan branchen op een branch
GIT BASICS
18. .GITIGNORE
File met te negeren bestanden
Typisch voor bestanden met gevoelige informatie of
tijdelijke bestanden
Repo basis: vb 鍖le met database-wachtwoorden
Globaal hele systeem: vb. tmp-鍖les typisch voor het OS
GIT BASICS
21. 7 REGELS VOOR EEN GOEDE COMMIT MESSAGE
1. Hou onderwerp en body gescheiden met 1 witregel
2. Beperk de lengte van het onderwerp tot 50 karakters
3. Het onderwerp begint met een hoofdletter
4. Gebruik geen punt op het einde van het onderwerp
5. Gebruik de gebiedende wijs in het onderwerp
6. Beperk de breedte van de body to 72 karakters
7. Geef in je body een uitleg voor wat en waarom, niet over hoe
COMMIT MESSAGES
22. MEER OVER COMMIT MESSAGES
Een rant van Linus Torvalds over commit-messages:
https://github.com/torvalds/linux/pull/
17#issuecomment-5659933
Blogpost die dieper ingaat op deze 7 regels:
http://chris.beams.io/posts/git-commit/
COMMIT MESSAGES
24. MERGE
Makkelijkst
Laat de geschiedenis as
is
Extra commit iedere
keer changes van master
worden gemerged
Geeft een heel slordige
git-history
Minder geschikt voor
team-werk
MERGE VS REBASE
25. REBASE
Iets geavanceerder
Geen overbodige
merge-commits
Mooie lineaire
geschiedenis
Geschiedenis
herschreven, niet
gebruiker op publieke
branches
MERGE VS REBASE
27. WANNEER?
Wanneer eenzelfde lijn in eenzelfde bestand is aangepast
in 2 branches.
Wanneer een 鍖le in 1 branch verwijderd is maar in een
andere gewijzigd.
MERGE CONFLICTS
30. GITHUB
Marktleider hosting git-repos
Meeste open-source projecten zitten op git
GITLAB
Evenwaardig maar kleiner
Snelle progressie
Kan sneller groeien door te leren uit fouten github
WORKFLOW
32. CODE TERUG NAAR MASTER
Indien de feature/bug klaar > PR op Github
Rebasen met master (changes in master naar branch brengen)
Wordt toegewezen aan iemand van het team en nagekeken
Code review is een leerrijk proces en geen ego-kwestie
Jij bent je code niet
Stijl en syntax automatisch laten checken (voorkomt al heel wat ego-zaken)
Zorg voor een ci die automatisch testen loopt en zo al een eerste vorm van
feedback geeft, testen falen == probleem
Indien ok de pull-request gemerged en automatisch een deploy naar productie
WORKFLOW