Ik ben eerlijk gezegd niet duidelijk over de semantiek hier. Ze gaan allemaal over kopieën/varianten van een code+geschiedenis-eenheid, maar verder weet ik niet zeker of ik dat zou kunnen zeggen. Wordt deze logische structuur ergens uitgelegd?
Antwoord 1, autoriteit 100%
Een repository is gewoon een plaats waar de geschiedenis van je werk wordt opgeslagen. Het bevindt zich vaak in een .git
submap van je werkkopie – een kopie van de meest recente staat van de bestanden waaraan je werkt.
Als u een project wilt forken (op een bepaald moment de bron uit iemands repository halen en uw eigen afwijkende wijzigingen daarop toepassen), zou u de externe repository klonen om er een kopie van te maken, en vervolgens uw eigen werk doen in uw lokale repository en commit wijzigingen.
Binnen een repository heb je branches, die in feite forks zijn binnen je eigen repository. Je branches hebben een voorouder-commit in je repository en zullen met je wijzigingen afwijken van die commit. U kunt uw branch-wijzigingen later samenvoegen. Met filialen kun je aan meerdere verschillende functies tegelijk werken.
Je kunt ook individuele vertakkingen volgen in externe repositories. Dit stelt je in staat om wijzigingen uit de branches van een ander individu in te voeren en deze samen te voegen in een eigen branch. Dit kan handig zijn als jij en een vriend samen aan een nieuwe functie werken.
Er zijn veel geweldige git-boeken online. Kijk eens op ProGiten Git Magicom aan de slag te gaan, evenals de officiële tutorials en het communityboek.
Antwoord 2, autoriteit 9%
Ik ga mijn eigen vraag beantwoorden met een RTFM.
Maar lees dezeprima handleiding. Zoals de auteur het zegt:
“De conclusie die ik hieruit trek is dat je Git pas echt kunt gebruiken als je begrijpt hoe Git werkt. Gewoon onthouden welke commando’s je op welke tijden moet uitvoeren, zal op korte termijn werken, maar het is slechts een kwestie van tijd voordat je vastloopt of, erger nog, iets breekt.
“De helft van de bestaande bronnen op Git hanteert helaas precies die benadering: ze helpen je welke commando’s wanneer moeten uitvoeren, en verwachten dat je het goed zou doen als je die commando’s gewoon nabootst. De andere helft doorloopt alle concepten, maar van wat ik heb gezien, leggen ze Git uit op een manier die ervan uitgaat dat je al begrijpt hoe Git werkt.”
Antwoord 3, autoriteit 2%
Deze GoogleTechTalkis een fantastische introductie tot Git om te leren wat er werkelijk gebeurt achter de scènes terwijl je ook de taal leert. Het werd gegeven door een zeer vroege bijdrager aan Git en hij gaf deze lezing in 2007 als een manier om kennis te maken met Git. Als je deze talk bekijkt, weet je niet alleen wat elk woord is, zoals repository, fork, branch, enz., maar je weet ook wat er achter de schermen gebeurt wanneer elk van deze woorden wordt gemaakt, samengevoegd, enz.
Het adres is lang maar zeer informatief. Het contrasteert Git ook met andere versiecontrolesystemen, zodat je inzicht krijgt in waarom Git is gemaakt zoals het was en wat de relatieve voordelen ervan zijn ten opzichte van andere controlesystemen. Ook al is het gesprek oud, het is erg nuttig om aan de slag te gaan. Ik zou dit bekijken voordat ik in de handleidingen sprong. De dingen zullen daardoor veel logischer worden, denk ik.