Je staat op het punt om een aantal uren van je leven te besteden aan het lezen over Git. Laten we in het kort even uitleggen wat we voor je in petto hebben. Hier is een korte samenvatting van de tien hoofdstukken en drie appendices van dit boek.
In Hoofdstuk 1 gaan we Versiebeheer systemen (VBSsen) (Version Control Systems (VCSsen)) behandelen en de grondbeginselen van Git — geen technische dingen, alleen wat Git is, hoe het tot stand is gekomen in een landschap vol met VCSsen, waarin het zich onderscheidt en waarom zoveel mensen het gebruiken. Daarna zullen we uitleggen hoe Git te downloaden en het voor de eerste keer op te zetten als je het al niet op je systeem hebt staan.
In Hoofdstuk 2 zullen het simpele gebruik van Git behandelen — hoe Git te gebruiken in 80% van de gevallen die je het meest zult tegenkomen. Na het lezen van dit hoofdstuk zou je in staat moeten zijn om een repository te klonen, zien wat er in de geschiedenis van het project is gebeurd, bestanden wijzigen, en wijzigingen bij te dragen. Als het boek op dat punt spontaan zou ontbranden, zou je al aardig in staat moeten zijn om Git te blijven gebruiken tot moment dat je een ander exemplaar weet te bemachtigen.
Hoofdstuk 3 gaat over het branching model in Git, vaak beschreven als de 'killer feature' van Git. Hier zal je leren wat Git echt onderscheidt van de rest. Als je hiermee klaar bent, zou je misschien de behoefte kunnen gaan voelen om even in stilte te overpeinzen hoe je het hebt kunnen volhouden voordat branchen met Git een onderdeel van je leven was.
Hoofdstuk 4 vertelt het verhaal van Git op de server. Dit hoofdstuk is voor die personen onder jullie die Git willen opzetten binnen je organisatie of je eigen persoonlijke server voor samenwerking. We zullen ook een aantal gehoste oplossingen verkennen als je dat liever aan iemand anders overlaat.
In Hoofdstuk 5 wordt in volledige detail verschillende gedistribueerde workflows behandeld en hoe je ze kunt bereiken met Git. Als je klaar bent met dit hoofdstuk, zou je in staat moeten zijn om als een expert te werken met meerdere remote repositories, Git via e-mail te gebruiken en volleerd verschillende remote branches en bijgedragen patches in de lucht te houden.
Hoofdstuk 6 behandelt in detail de GitHub hosting service en gereedschappen. We behandelen het aanmelden voor en het onderhouden van een account, het maken en gebruiken van Git repositories, de gewone workflows om aan projecten bij te dragen en om bijdragen aan jouw project te accepteren, de programmatische interface van GitHub en vele kleine tips om je leven in het algemeen eenvoudiger te maken.
Hoofdstuk 7 gaat over geavanceerde Git commando’s. Hier zal je over een aantal onderwerpen leren zoals het onder de knie krijgen van het enge 'reset' commando, het gebruik van binaire zoeken om bugs te vinden, historie te wijzigen, het selecteren van revisies en veel, veel meer. Dit hoofdstuk zal je kennis van Git verdiepen zodat je een echte meester zult worden.
Hoofdstuk 8 behandelt het configureren van je aangepaste Git environment. Dit is inclusief het opzetten van hook scripts voor het afdwingen van of het aanmoedigen tot het volgen van aangepast beleid en het gebruiken van configuratie instellingen uit de omgeving zodat je op de manier kunt werken die jij wilt. We behandelen ook het maken van je eigen verzameling scripts om een aangepaste commit-beleid af te dwingen.
Hoofdstuk 9 verhaalt over Git en andere VCSsen. Daarin ook het gebruik van Git in een Subversion (SVN) wereld en het converteren van projecten uit andere VCSsen naar Git. Een groot aantal organisaties gebruikt nog steeds SVN en zullen dit voorlopig nog niet veranderen, maar op dit moment zal je al op de hoogte zijn van de ongelofelijke kracht van Git — en dit hoofdstuk laat je zien hoe je hiermee kunt omgaan als je nog steeds een SVN server moet gebruiken. We behandelen ook hoe projecten van diverse verschillende systemen kunt importeren voor het geval dat je toch in staat bent geweest iedereen ervan te overtuigen de sprong te wagen.
In Hoofdstuk 10 duiken we in de duistere doch prachtige diepten van het binnenwerk van Git. Nu je alles weet over Git en het met macht en gratie kunt gebruiken, kan je doorgaan en bespreken we hoe Git zijn objecten opslaat, wat het objectmodel is, detail van packfiles, server protocollen, en meer. Door het boek heen, zullen we naar paragrafen van dit hoofdstuk verwijzen voor het geval dat je op dat punt de diepte in wilt gaan; maar als je ook maar een beetje op ons lijkt en meteen in de technische details wilt duiken, zou je ook meteen hoofdstuk 10 kunnen beginnen lezen. We laten dat geheel aan jou over.
In Appendix A bekijken we een aantal voorbeelden van hoe Git te gebruiken in diverse specifieke omgevingen. We behandelen een aantal verschillende GUIs en IDE programmeer omgevingen waarin je Git zou kunnen willen gebuiken en wat er zoal voor je beschikbaar is. Als je geïnteresseerd bent in een overzicht hoe Git in je shell te gebruiken, in Visual Studio of Eclipse, neem je hier een kijkje.
In Appendix B verkennen we scripting en het uitbreiden van Git door gereedschappen als libgit2 en JGit. Als je geïnteresseerd bent in het schrijven van complexe en snelle aangepaste gereedschappen en technische toegang nodig hebt, is dit waar je kunt zien hoe dat landschap eruit ziet.
Tot slot behandelen we in Appendix C alle belangrijke Git commando’s een voor een en kijken terug naar waar in het boek we ze hebben behandeld en wat we ermee gedaan hebben. Als je wilt weten waar in het boek we een specifieke Git commando hebben gebruikt kan je dat daar opzoeken.
Laten we beginnen.