‫In deze video gaan we het hebben over Git en GitHub en bronbeheer. Je herinnert je GitHub misschien nog van onze vorige sectie waar we
‫het gebruikten om de website online te zetten, maar ik zal je laten zien dat het zoveel meer is
‫dan dat .
‫Wat nog belangrijker is, is dat het verkrijgen van GitHub door de meeste professionele bedrijven wordt gebruikt, en het is een vaardigheid
‫die naar verwachting nu bekend is bij alle ontwikkelaars.
‫Dit is dus een belangrijk onderdeel.
‫Een van de eerste dingen die de meeste ontwikkelaars op hun eerste werkdag moeten doen, is voldoen aan iets dat
‫een pull-verzoek wordt genoemd, dat gebruikmaakt van Git en GitHub.
‫We zullen dat in deze sectie doornemen.
‫Maak je geen zorgen, je gaat dit allemaal leren en het zal logisch zijn.
‫Laten we eerst beginnen met bronbeheer.
‫Tot nu toe hebben we alleen met kleine bestanden gewerkt.
‫Geen teamleden, alleen wijzelf, alleen een paar bestanden.
‫Maar in het echte leven ben je waarschijnlijk niet de enige ontwikkelaar in een team.
‫Hoogstwaarschijnlijk zijn de projecten enorm, er zijn veel, veel bestanden. Bronbeheer stelt ons in staat om ervoor te
‫zorgen dat meerdere mensen vanaf verschillende locaties aan hetzelfde bestand kunnen werken.
‫Zie het als Google Docs waarmee mensen kunnen samenwerken aan één document, maar genoeg gepraat, laten we het
‫eens bekijken.
‫Ik heb hier twee mappen aangemaakt.
‫De ene is voor mezelf, Andre, die net een nieuwe baan bij X Company is begonnen, en ik heb Marsi hier die
‫al een tijdje bij het bedrijf werkt en ze heeft hier projectdossiers.
‫Ik gebruik de bestanden van onze achtergrondgeneratorvideo nu zonder GitHub te krijgen.
‫Wat ik kan doen is deze bestanden kopiëren en plakken.
‫Dus ik heb wat Marcy heeft en we kunnen aan deze bestanden gaan werken.
‫Ik kan hier mijn ontwikkelaarsomgeving hebben met mijn terminal en mijn sublieme tekst, en ik kan werken aan alle wijzigingen die in
‫de app moeten worden aangebracht.
‫En Marc.
‫Hier heeft ook haar eigen versie waar ze aan kan werken, en we werken allebei aan
‫hetzelfde project, maar laten we zeggen dat zowel Marcy als ik aan dit project werken en ze besluit
‫de projectnaam te veranderen van gradiëntachtergrond in superachtergrond.
‫En tegelijkertijd besluit ik in mijn project om dit coole achtergrond te noemen.
‫Nou, nu moet je een ontmoeting regelen tussen mij en Marcy en beslissen hoe we de code moeten
‫veranderen.
‫En dit is een klein voorbeeld, maar je kunt je voorstellen dat als verschillende programmeurs samenwerken, er altijd het
‫probleem zal zijn dat de ene persoon het ene verandert en de andere persoon het andere.
‫Hier kwam sociale controle om de hoek kijken.
‫En sociale controle is een manier om dit te beheersen, waarbij we één plek hebben in plaats van onze eigen.
‫Computers wordt in dit geval gewoon weergegeven door de map die ik hier heb.
‫In plaats van dat ieder van ons een kopie van het project met Source Control heeft, hebben we een kopie van het project.
‫Maar er is ergens een centrale locatie, misschien eigendom van het bedrijf of ergens op internet, die de
‫ultieme versie heeft waar we allemaal mee praten om er zeker van te zijn dat we allemaal dezelfde versie hebben.
‫Het verkrijgen van GitHub is een manier om dit te doen, om sociale controle te kunnen gebruiken.
‫En in feite is het de feitelijke manier om dit te doen.
‫Dus zoals ik al eerder zei, dit is hoogstwaarschijnlijk de tool die u elke dag op uw werkplek zult gebruiken.
‫Dus als ik hier naar de GitHub-website ga, kunnen we dat doen als een plek, een centrale plek waar
‫zowel Andre als Marcy mee kunnen praten.
‫Dus ook al werken we aan dezelfde bestanden, hetzelfde project.
‫Ik kan deze centrale locatie zoals GitHub vragen, hey, heeft Marsi wijzigingen aangebracht en Marsic kan vragen, hey, hoe
‫heeft Andrew wijzigingen aangebracht?
‫En af en toe krijg je zoiets als dit, waar we een coole achtergrond
‫en een superachtergrond hebben, waar we iets hebben dat een merge-conflict wordt genoemd, wat GitHub ons toestaat te zeggen, hey, ik heb gemerkt dat er
‫een merge-conflict is.
‫Ik zie dat jullie allebei je achtergrond hebben veranderd.
‫Ik weet niet wie gelijk heeft.
‫Maar hier is de informatie.
‫Andre Marsi, kunnen jullie onderling praten en erachter komen?
‫Dat is echter vrij veel werk, dus laten we eens kijken hoe dit eruit ziet.
‫Het eerste dat we willen doen, is een GitHub-account opzetten, als je dit in de vorige oefeningen nog
‫niet hebt gedaan, moet je absoluut een GitHub-account starten.
‫Het is gratis.
‫En zoals ik al eerder zei, als je een ontwikkelaar bent, moet je het gewoon hebben.
‫Hier zet iedereen zijn projecten neer.
‫Het is waar je werkt.
‫U zult veel tijd op deze website doorbrengen.
‫Je herinnert je misschien dat toen we het GitHub-project hadden, ik je ook vertelde om GitHub voor desktop te krijgen.
‫Hoewel we dat gebruiken om dingen eenvoudiger te maken tijdens de video, is dit eigenlijk niet de aanbevolen manier om
‫het te doen.
‫Hiermee kunt u GitHub visueel zien en ermee omgaan.
‫Maar werkgevers kijken er een beetje op neer.
‫En de meeste mensen gebruiken de term en/of de opdrachtprompt om dit daadwerkelijk te doen.
‫Dus ik zal je niet op deze manier lesgeven, alleen maar omdat ik denk dat het een slechte gewoonte is en
‫wennen aan de terminal belangrijk is.
‫Ik ga dat afsluiten en we gaan aan de slag.
‫Het allereerste wat we gaan doen is klikken op Start een project.
‫En hier gaan we het noemen zoals je wilt, we noemen het achtergrondgenerator, en je wilt
‫het ook openbaar laten.
‫En we willen klikken op initialiseer dit met een README en we klikken op repository maken en wat dat
‫doet.
‫Welnu, we hebben een nieuw project op GitHub gemaakt en hier de README, wat slechts een bestand is dat uw project
‫beschrijft.
‫Je kunt zien dat het hier is.
‫We kunnen in de read me typen wat we willen en ons project beschrijven.
‫Maar laten we teruggaan.
‫Als Marsi, laten we zeggen dat Marsi al heel lang bij dit bedrijf werkt, dan ga ik mijn bestanden
‫hier echt verwijderen.
‫Marcy werkt al heel lang bij dit bedrijf en de werkgever heeft uiteindelijk besloten, hé, we moeten
‫GitHub gebruiken, we gaan deze nieuwe man, Andre, aannemen.
‫We willen ervoor zorgen dat jullie er allebei probleemloos aan kunnen werken, samen aan het project.
‫Kun je het project op GitHub zetten?
‫Dus een van de dingen die Marcy zal doen, is dat ze naar GitHub gaat, een achtergrondgenerator maakt, en dan hier
‫gaat klikken om te klonen of te downloaden en ervoor zorgt dat er https gebruikt staat.
‫En vanaf hier klik je gewoon op deze knop, die deze link naar je toetsenbord kopieert, en vervolgens naar Marsi.
‫Gaat naar haar terminal, en nu zijn we in documenten, we willen het project in de Marcy-map hebben, dus ik zal in
‫Marcy kijken als ik klik, tenzij ik dat al zie.
‫Ik heb mijn bestanden.
‫Het eerste commando dat we gaan leren heet GET.
‫Klown.
‫En dan kopiëren en plakken wat we van de website kopiëren, we zeggen alleen maar, hey, kloon dit project van
‫GitHub dot com.
‫Dus ik druk op enter en daar ga je.
‫Alles wordt gedownload.
‫Als ik nu terugga naar de map, zie ik dat ik een achtergrondgenerator heb.
‫Als ik hierop dubbelklik, zie je dat ik hier een dot get-map heb die eigenlijk verborgen is.
‫Je ziet het misschien niet eens op je laptop als je deze functie niet op je computer hebt ingeschakeld.
‫Maar met deze Dugit kan ik nu communiceren met GitHub.
‫Dus wat we nu kunnen doen, Marsi kan deze bestanden kopiëren en plakken en in een achtergrondgenerator plaatsen.
‫Laat me je nu het volgende krijg-commando Marsi laten zien, als we zien dat ze in haar map zit.
‫Maar nu moeten we naar de achtergrondgenerator gaan, want als we hier goede commando's uitvoeren, zal het niet
‫werken omdat het geen goed project is.
‫We moeten echt naar binnen gaan in het project dat op GitHub is gemaakt.
‫Dus ik ga naar die directory, notis hier.
‫Ik heb mijn terminal zo ingesteld dat het me echt laat zien op welke GitHub-locatie ik me bevind en ik zal later uitleggen
‫wat Master betekent.
‫Nu we hier zijn, kunnen we al onze bestanden bekijken.
‫Ja, dat zie ik nu.
‫Ik heb mijn read me, die ik op GitHub heb gemaakt plus de bestanden die ik kopieer en plak.
‫We moeten dit laten zinken, zodat als ik naar mijn achtergrondgenerator ga in plaats van naar de leesmij-bestanden, Marcy haar
‫bestanden op GitHub kan zetten.
‫De manier waarop we dat doen, is ons tweede commando om status te krijgen.
‫Het vertelt ons dat we entr'acte-bestanden hebben, dat wil zeggen dat we e-mailscripts en -stijlen hebben geïndexeerd die entr'acte zijn en er staat dat
‫u een 'get add-bestand' moet gebruiken om op te nemen waarom, wat is toegestaan.
‫Dus nu we onze status zien van wat we in onze map hebben,
‫kunnen we zeggen get add en de bestandsnaam zodat ik index dot html kan doen, een script kan krijgen en stijltoegang kan krijgen.
‫Laten we dit ophelderen zodat we het kunnen zien.
‫En nu kan ik weer status krijgen om te zien wat onze status is.
‫En nu heb ik uw vestigingen up-to-date wijzigingen door te voeren.
‫Je ziet dat we nu met ADD hebben gezegd, hé, we willen deze wijzigingen toevoegen.
‫We hebben nieuwe bestanden die we hebben toegevoegd en waarvan we zeggen dat ze moeten worden vastgelegd.
‫Dus de tweede stap is om iets te doen genaamd get, commit en get commit zegt, hey, dat ga ik doen.
‫Dit zijn de wijzigingen die ik in GitHub wil aanbrengen.
‫En je kunt een bericht doorgeven zodat het op GitHub het bericht laat zien.
‫Als Andre weer binnenkomt, kan hij zeggen, oh, Marsi heeft deze bestanden toegevoegd en dit is de boodschap.
‫En dat doen we door dit te doen.
‫En hier binnen, binnen de dubbele codes, kan ik zeggen dat het toevoegen van een project begint, het beugelperscentrum
‫sluit.
‫Ik ga dit nu opruimen.
‫Er is nog een laatste stap die we hebben toegevoegd.
‫We werden wel toegevoegd om onze wijzigingen toe te voegen, en kregen vervolgens een commitment om te committen en zeggen: ja, we houden die wijzigingen
‫vast.
‫En tot slot moeten we GitHub Dotcom laten weten dat dit de veranderingen zijn.
‫Dus we krijgen wel push.
‫En daar ga je.
‫Het is nu naar deze repository geduwd, dus als ik terug ga.
‫En ik verfris.
‫Kijk eens aan, het is hetzelfde als wat we deden toen we onze eerste website online zetten, maar
‫in plaats van de desktopversie van GitHub te gebruiken, gebruiken we de opdrachtregel en nu hebben we ons project, wat erg
‫goed is.
‫Laten we nu teruggaan naar ons voorbeeld.
‫Dus Marsia heeft aan dit project gewerkt.
‫Er is een goede repository en ik ben net lid geworden van het bedrijf en nu moet ik hieraan gaan werken.
‫Wat moet ik nu doen, ik moet GitHub openen en de kopie van Background Generator krijgen zoals ik dat doe, nou, ik
‫ga naar mijn map.
‫En ik doe hetzelfde als ik Klown krijg en dan kopieer en plak ik de repository net als voorheen, git
‫clone en kloon de repo en daar ga je.
‫Als ik terugga naar mijn map, kijk daar dan eens naar.
‫Ik heb een achtergrondgenerator, dus we werken nu allebei aan een achtergrondgenerator, maar niet aan elkaars
‫bestanden.
‫We werken met elke versie die op GitHub staat.
‫Oke.
‫Dus nu realistischer, gaan we weer aan het werk.
‫En de eerste dag van mijn baan, zeg ik dat ik
‫de Grania-achtergrondtitel ga veranderen, eigenlijk de H1-tag om generator te koelen als ik dit opsla en ik krijg status.
‫Oké, nou, ik zit nu niet in een goede repository, als je het je herinnert, ik moet naar de achtergrondgenerator
‫gaan.
‫Laat me dat een beetje openmaken zodat je het kunt zien.
‫Daar ga je weer, deze give-commando's werken niet als je niet in een map bent die een docket-map heeft.
‫Dus laat me die cd in de achtergrondgenerator doen.
‫Ik ga dit opruimen en ik ga zeggen: verkrijg status en kijk daar eens naar.
‫Het vertelt me dat ik de index heb gewijzigd, niet Alpha.
‫En als je het je herinnert, zeg ik git add.
‫Ik heb maar één bestand.
‫Ik kan het vervolgens op HTML doen.
‫Maar als ik zou willen dat ik meerdere bestanden had en ik wil ze allemaal tegelijk vastleggen, dan kan ik gewoon de
‫punt doen.
‫Dus ik doe dat en krijg dan een commit en ik voeg een bericht toe met een veranderende titel.
‫Ik druk op enter en wis dit, OK, en nogmaals, ik krijg wel push.
‫En het lijkt erop dat alles is doorgegaan, dus laten we dat eens openen en bekijken.
‫Ik ververs nu uw.
‫En wat we geen veranderingen hebben gezien, maar we zien nu dat we drie commits hebben, we hebben de eerste commit
‫het toevoegen aan het project dat Marsi deed, en het toont je alle bestanden die zijn toegevoegd.
‫En als ik terug ga, heb ik de veranderende titel-commit, en nu zie ik dat, ja, Andre verandert gewoon de achtergrondgenerator,
‫die in het rood is, om de generator te koelen.
‫Zoals je kunt zien, hebben we een geschiedenis van alle wijzigingen en kunnen we altijd teruggaan als er
‫fouten zijn, maar er is nu één probleem.
‫Als ik terugga naar de code en naar Marcy's computer ga, zie ik dat.
‫Wel, ze heeft hier nog steeds een achtergrondgenerator.
‫Waarom is dat?
‫Nou, omdat haar computer niet weet dat GitHub is bijgewerkt.
‫Het volgende commando dat ik je ga laten zien, dit is het laatste dat ik je in deze video ga laten zien,
‫is trek trekken.
‫Dus onthoud, krijg push om de wijzigingen in GitHub dotcom te pushen en trek aan om wat het laatste is.
‫Ik krijg dus trek.
‫En daar ga je, je ziet hier dat het me laat zien dat de index van het ASML-bestand is gewijzigd.
‫Nu zie je dat mijn.
‫Titel is veranderd in coole generator, laten we zeggen dat Marcy mijn eerste verandering zag en ze vindt het heel, heel erg leuk
‫dat ik een coole generator heb, maar ik denk dat ze hem weer met een hoofdletter wil laten beginnen.
‫Dat gaat ze redden.
‫Ze gaat zeggen status krijgen.
‫Oke.
‫Ik heb mijn index die ik krijg en krijg dan een commit en ik zal het bericht capac hebben voor Lai's titel en dan push
‫krijgen.
‫Daar ga je weer, ik ga terug.
‫Ik ververs me en nu zijn er vier opmerkingen en zien we die titel met hoofdletter.
‫Is.
‫De nieuwe veranderingen, de eerste werkdag zit erop, ik kom de volgende werkdag binnen en wel,
‫ik wil beginnen met wat het laatste project ook is, of back on generator.
‫En laten we zeggen dat Marcy de hele nacht heeft gewerkt om die titel te veranderen in Cool Capitalised.
‫Ik wil er zeker van zijn dat ik de meest recente versie heb.
‫Dus wat ik doe is als ik 's ochtends op mijn werk kom, ik zal zeggen, nou, ik wil er
‫zeker van zijn dat als er veranderingen zijn die Marcy heeft aangebracht, ik weet, dan zeg ik: trek eraan en let op
‫hier hoe de titels zullen veranderen nadat ik de pull heb gedaan.
‫En nu klik ik op de sublieme tekst en daar ga je.
‫Coole generator.
‫Oké, en in de volgende video gaan we hier dieper op in en laten we je zien wat
‫er gebeurt als zowel Marci als Andre dezelfde wijzigingen maken, wat doet GitHub?
‫Ik zal zien in die ene door.