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 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.