Git Tutorial en Cheat Sheet: Tem dit populaire versiebeheersysteem

Openbaarmaking: Uw steun helpt de site draaiende te houden! We verdienen een verwijzingsvergoeding voor sommige van de services die we op deze pagina aanbevelen.


Git is een gedistribueerd versiebeheersysteem dat voornamelijk wordt gebruikt om computersoftware te ontwerpen en complexe webapplicaties te ontwikkelen.

In tegenstelling tot andere broncodebeheersystemen, die afhankelijk zijn van een client-serverbenadering van versiebeheer, is Git gebaseerd op een peer-to-peer werkmodel. Hierdoor kunnen softwareontwikkelaars aan projecten werken, onafhankelijk van een gecentraliseerd of gemeenschappelijk netwerk.

Het werkstation van elke coder bevat een volledige kopie van de werkdirectory en de repository, inclusief al hun individuele en doorlopende wijzigingen en herzieningen. Wanneer de code van één programmeur is voltooid, kan een kopie worden gedeeld met collega’s of met een centrale server.

Git is een van de meer populaire open source versiebeheersystemen geworden onder softwareontwikkelaars, niet in de laatste plaats vanwege de snelheid, betrouwbaarheid en aangeboren data-integriteit.

Geschiedenis

Git is gemaakt door Linus Torvalds, maker en hoofdontwikkelaar van de Linux-kernel.

Het werk aan het project begon in 2005, toen Torvalds en zijn ontwikkelingsteam gedwongen werden een alternatief te zoeken voor BitKeeper, het gepatenteerde bronbeheersysteem dat ze hadden gebruikt om de Linux-kernel te ontwikkelen en te verfijnen.

De auteursrechthebbende van BitKeeper had het gratis gebruik van het product ingetrokken, dus Torvalds werd gedwongen een versiebeheersysteem te zoeken om de leegte te vullen. Helaas was geen van de door hem gevonden open source gedistribueerde systemen opgewassen tegen de taak, wat zowel snelheid als prestaties tekortschoot.

Torvalds vond niets dat aan zijn behoeften voldeed en besloot een eigen gedistribueerd versiebeheersysteem te ontwikkelen. Zijn doelen waren simpel:

  • Gebruik de huidige status van gelijktijdige versiesystemen als een voorbeeld van wat u niet moet doen;

  • Focus op een gedistribueerde workflow;

  • Zorg ervoor dat het patchen niet meer dan 3 seconden duurt;

  • Omvat beveiligingen tegen onopzettelijke of opzettelijke corruptie.

Torvalds begon Git te ontwikkelen in april 2005. De eerste prestatiedoelstellingen van het project werden snel behaald en de eerste iteratie van het systeem werd gelanceerd voor het einde van het jaar.

In 2006 heeft Torvalds het onderhoud van Git overgedragen aan Junio ​​Hermano, een van de belangrijkste bijdragers aan het project. Hermano is Git blijven ontwikkelen en heeft toezicht gehouden op volgende versies van het systeem, waaronder de nieuwste release van Git 2.9 in 2016.

Kenmerken

Om de unieke functies van Git beter te begrijpen, is het belangrijk om onderscheid te maken tussen de twee meest voorkomende soorten broncodebeheersystemen.

Gelijktijdige versiesystemen (CVS) vertrouwen op één centrale server om de volledige versiegeschiedenis van een bepaald stuk software te bevatten. Met dit model moeten programmeurs en ontwikkelaars toegang hebben tot de gemeenschappelijke server om de softwarecode te bekijken en eraan te werken.

Dit maakt het vaak moeilijk voor programmeurs om snel en efficiënt te werken, vooral wanneer ze in teamverband werken.

Vertrouwen op een gecentraliseerde server voor een database of repository betekent ook dat al het werk aan een project afhankelijk is van de beschikbaarheid van de server, en dat het werk van programmeurs kan belemmeren wanneer zij, of de server zelf, offline zijn.

Gedistribueerd versiebeheer

Git is echter een gedistribueerd versiebeheersysteem (DVCS) en als zodanig is het niet afhankelijk van een gecentraliseerde server om de volledige versiegeschiedenis van een bepaald project te huisvesten.

Git gebruikt een gedistribueerde architectuur, wat betekent dat de werkkopie van elke ontwikkelaar van een lopend project ook een opslagplaats is met een volledige versiegeschiedenis van de software die wordt ontwikkeld.

Hierdoor kunnen programmeurs werken in veiligere en flexibelere coderingsomgevingen, zonder dat ze verbonden hoeven te blijven met de gemeenschappelijke server.

Verbeterde prestatiekenmerken

Verbeterde prestatiekenmerken zijn een andere reden waarom Git een populair alternatief is geworden voor andere broncodebeheersystemen.

Git vereenvoudigt vertakkings- en samenvoegfuncties, waardoor ontwikkelaars gemakkelijker wijzigingen kunnen doorvoeren en eerdere versies van de broncode van een project kunnen bekijken en vergelijken.

Omdat al deze acties worden uitgevoerd op het eigen werkstation van de ontwikkelaar, is het proces bovendien sneller en betrouwbaarder dan bij andere systemen.

De krachtige functies van Git, gecombineerd met de gedistribueerde architectuur, vergemakkelijken ook de samenwerking tussen ontwikkelaars, waardoor ze met meer succes kunnen werken vanaf externe werkstations.

Veiligheid

Ten slotte is een belangrijk kenmerk van Git de inherente beveiliging. Alle gegevens en bestanden in de Git-repository worden beschermd door het SHA1-hash-algoritme. Dit beschermt de code tegen kwaadwillende en onbedoelde wijzigingen.

De kans op gegevensverlies met Git is ook sterk verminderd in vergelijking met andere bronbeheersystemen, omdat de volledige versiegeschiedenis van een bepaald project wordt opgeslagen op het werkstation van elke bijdrager.

Compatibiliteit

Git is een open source DVCS en kan rechtstreeks worden gedownload van de Git-website. Git is compatibel met Windows, Linux, Mac OSX en BSD-besturingssystemen.

Ermee beginnen

Git is een krachtig broncoderingsbeheersysteem en het is een belangrijk onderdeel van veel lopende commerciële en open source softwareprojecten.

Degenen die Git nog nooit hebben gebruikt, kunnen het systeem in het begin vaak verwarrend vinden, maar de leercurve is niet zo steil als het lijkt en er zijn een aantal zeer goede online tutorials (zowel tekst als video) die voldoende instructies bieden voor beginners.

  • Git-zelfstudie: een uitgebreide handleiding: deze Udemy-zelfstudie biedt een volledig overzicht van Git, inclusief de ontwikkelingsgeschiedenis. Lezers maken kennis met de basisfuncties van het systeem, met secties gewijd aan het opzetten van een repository, het ongedaan maken van acties, vertakken en samenvoegen, en integratie via Github.

  • Git-zelfstudie voor beginners: basisbeginselen van de opdrachtregel: deze video-zelfstudie is bedoeld voor de eerste keer dat Git-gebruikers werken, en mensen met een minimaal begrip van DVCS-systemen. De presentatie biedt een eenvoudig overzicht van het systeem, met de nadruk op de basis van de opdrachtregel.

  • Learn Git: A Git Tutorial: gepresenteerd door Tutorials Point, deze uitgebreide introductie en gids voor Git behandelt alle basisprincipes van het versiebeheersysteem. Deze tutorial bevat een groot aantal visuele hulpmiddelen om Git in actie te demonstreren. Specifieke secties die aan bod komen, zijn onder meer het maken van operaties, het uitvoeren en doorvoeren van wijzigingen, het updaten van operaties, het patchen en beheren van branches.

  • Git-zelfstudie voor beginners: een snelstartgids: gepresenteerd door Timothy Corey, deze video-zelfstudie is een zeer effectieve introductie tot Git voor beginners. Het gebruik van voorbeelden uit de echte wereld maakt deze tutorial bijzonder gemakkelijk te volgen en te begrijpen.

Boeken

Git is een zeer veelzijdig versiebeheersysteem en om zijn volledige potentiële gebruikers te realiseren, hebben ze een uitgebreid begrip van het systeem en zijn mogelijkheden nodig. Online tutorials kunnen een basisintroductie van Git bieden, maar de meeste zijn beperkt in omvang.

Voor een meer diepgaande blik op Git en het gebruik ervan, zullen ontwikkelaars en programmeurs enkele van de volgende boeken willen verkennen.

  • Pro Git (2009) door Chacon en Straub: aanbevolen door het Git-ontwikkelingsteam, Chacon en Straub’s Pro Git biedt een overzicht van gedistribueerde versiecontrole en de ontwikkeling van Git en GitHub. De auteurs leggen de basis van Git en de vele functies ervan uit, vanuit het standpunt van zowel programmeurs als projectleiders. Verkrijgbaar in zowel gedrukte als digitale edities.

  • Versiebeheer met Git: krachtige tools en technieken voor collaboratieve softwareontwikkeling (2012) door Loeliger en McCullough: deze praktische gids voor Git brengt lezers van initiële concepten naar geavanceerde technieken met behulp van stapsgewijze voorbeelden. Onderwerpen zijn onder meer het volgen, vertakken, samenvoegen en beheren van coderevisies met de nadruk op gezamenlijke softwareontwikkeling

    ment.

  • Git in Practice (2014) van Mark McQuaid: het boek van McQuaid, dat het meest geschikt is voor diegenen die al bekend zijn met de kernprincipes van Git, gaat uitgebreid in op geavanceerde technieken om teamontwikkelingsprojecten te optimaliseren en te verbeteren. Git in Practice omvat meer dan 60 geavanceerde toepassingen voor Git, waaronder geschiedenisvisualisatie, geavanceerde vertakking, herschrijfgeschiedenis en noodherstel.

Conclusie

Git is uitgegroeid tot een van de meest gebruikte versiebeheersystemen in de branche, niet in het minst vanwege de snelheid, verbeterde prestatiemogelijkheden en algehele veelzijdigheid.

Als open source systeem blijft Git verdere ontwikkeling en herzieningen ondergaan, evoluerend om te voldoen aan de steeds veranderende behoeften van professionele en amateur software ontwikkelaars.

De bronnen die hier worden besproken, zouden een nuttige introductie moeten zijn voor Git, de toepassing ervan op samenwerkingsontwikkelingsprojecten en zijn status in de hiërarchie van versiebeheersystemen.

Git Cheatsheet

Git is een open source gedistribueerd versiebeheersysteem voor gebruik bij softwareontwerp en de ontwikkeling van webapplicaties. Het volgende spiekbriefje bevat een voorbeeld van de meest gebruikte Git-opdrachtregelinstructies.

Configureer Tooling

  • $ git config –global user.name “[naam]” – kent een naam toe aan uw vastleggingstransacties

  • $ git config –global user.email “[e-mailadres]” – wijst een e-mail toe aan uw vastleggingstransacties

  • $ git config –global color.ui auto – maakt inkleuren van de opdrachtregeluitvoer mogelijk

Opslagplaatsen maken

  • $ git init [projectnaam] – creëert een nieuwe lokale repository met een gespecificeerde naam

  • $ git clone [url] – kloont een huidige repository met zijn volledige versiegeschiedenis

Lokale veranderingen

  • $ git status – geeft een overzicht van alle nieuwe of gewijzigde bestanden die moeten worden vastgelegd

  • $ git diff – toont bestandsreferenties die niet zijn opgevoerd

  • $ git add [bestand] – momentopname van het bestand voorafgaand aan versiebeheer

  • $ git diff –staged – toont bestandsverschillen tussen staging en laatste bestandsversie

  • $ git reset [bestand] – unstages het bestand met behoud van de inhoud

  • $ git commit – voert eerder uitgevoerde wijzigingen door

  • $ git commit -a – legt alle lokale wijzigingen vast in aangehechte bestanden

  • $ git commit -m “[beschrijvend bericht]” – neemt permanent momentopnamen van bestanden op in de versiegeschiedenis

  • $ git logboek – toont geschiedenis van commits

  • $ git log -p [bestandsnaam] – toont de geschiedenis van wijzigingen in een specifiek bestand

  • $ git blame [bestand] – laat zien welke gebruiker de bestandsinhoud heeft gewijzigd en wanneer

Takken en labels

  • $ git branch -av – geeft een overzicht van alle bestaande vestigingen

  • $ git checkout [branch] – schakel de HEAD-tak

  • $ git checkout [new-branch] – creëert een nieuwe branch op basis van de huidige HEAD

  • $ git checkout – track [remote / branch] – creëert een nieuwe tracking branch op basis van een remote branch

  • $ git branch -d [branch] – verwijdert een lokale vestiging

  • $ git tag [tag-naam] – markeert de huidige commit met een tag

  • $ cat .git / HEAD – laat zien waar de HEAD, of de huidige tak, naar verwijst

Updates en publiceren

  • $ git remote -v – een lijst van alle momenteel geconfigureerde externe opslagplaatsen

  • $ git show remote [remote] – toont gedetailleerde informatie van een specifieke externe repository

  • $ git remote add [korte naam] [url] – voeg een nieuwe externe repository toe

  • $ git fetch [remote] – download alle wijzigingen van een opgegeven afstandsbediening zonder te integreren in HEAD

  • $ git pull [remote] [branch] – download wijzigingen van een specifieke externe opslagplaats en integreer / voeg samen in HEAD

  • $ git push [remote] [branch] – publiceer lokale wijzigingen in een externe opslagplaats

  • $ git branch -dr [remote / branch] – verwijdert een filiaal in de lokale externe opslagplaats

  • $ git push –tags – publiceer tags naar repository

Samenvoegen en rebasen

  • $ git merge [branch] – voegt een gespecificeerde branch samen in de huidige HEAD

  • $ git rebase [branch] – rebase huidige HEAD op branch

  • $ git rebase –abort – breekt eerdere rebase af

  • $ git rebase –doorgaan – ga door met rebasen na het oplossen van conflicten

  • $ git add [resolved-file] – conflicten handmatig bewerken en oplossen en het bestand markeren als ‘opgelost’

  • $ git mergetool – gebruik de samenvoegtool om conflicten automatisch op te lossen

Ongedaan maken

  • $ git reset –hard HEAD – verwerpt alle lokale wijzigingen in de werkmap

  • $ git checkout HEAD [bestandsnaam] – negeert alle lokale wijzigingen in een gespecificeerd bestand

  • $ git revert [commit] – zet een commit terug door een herziene of bijgewerkte commit te maken

  • $ git reset –hard [commit] – reset de HEAD pointer naar een eerdere commit en negeer alle volgende wijzigingen

  • $ git reset [commit] – reset de HEAD pointer naar een eerdere commit en bewaar alle volgende veranderingen als unstaged events

  • $ git reset –keep [commit] – reset de HEAD pointer naar een eerdere commit en bewaar ongecommitteerde veranderingen

Deze korte referentiegids geeft een overzicht van de meest voorkomende opdrachtregelinstructies die worden gebruikt met het Git-versiebeheersysteem. Het moet niet als uitputtend worden beschouwd, maar zou nuttig moeten zijn voor basisprogrammering en codering.

Verder lezen en bronnen

We hebben meer handleidingen, tutorials en infographics met betrekking tot codering en ontwikkeling:

  • Versiebeheer en hosting: niet alleen over hosting, maar ook een vergelijking van versiebeheersystemen.

  • Ubuntu Primer: leer alles over een van de meest populaire Linux-distributies – een uitstekende basis voor MantisBT-hosting.

  • Objectgeoriënteerd programmeren: leer meer over het brede scala aan objectgeoriënteerde programmeertalen – sommige zullen u misschien verrassen.

Zou internet het einde van de wereld overleven??

Heb je je ooit afgevraagd wat een grote ramp met internet zou doen? Bekijk onze infographic, Zou het internet het einde van de wereld overleven??

Het is mogelijk dat we allemaal vernietigd zouden worden, maar het internet zou voortleven.

Zou internet het einde van de wereld overleven?
Zou internet het einde van de wereld overleven??

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me