1. Web Design & Development Git-versiebeheer

Door Sarah Guthals

GitHub, zoals hetzelfde zou suggereren, is gebouwd op Git. Git is een type versiebeheersysteem en het is een gratis en open source, wat betekent dat iedereen het kan gebruiken, erop bouwen en er zelfs aan toevoegen.

GitHub-producten maken het gebruik van Git gemakkelijk, maar als je nieuwsgierig bent, kun je Git ook gebruiken om je soloprojecten op je computer te volgen.

Probeer eenvoudige Git op de terminal

Met behulp van Git voor Windows is het gebruik van de terminal op Mac-, Windows- of Linux-computers precies hetzelfde. Een terminal is een toepassing waarmee u op tekst gebaseerde manier met uw computer kunt communiceren. Met andere woorden, in plaats van te dubbelklikken en slepen, typt u opdrachten om op uw computer te navigeren.

Als u Mac of Linux gebruikt, is er al een terminal op uw computer geïnstalleerd. Als je een Windows-computer gebruikt, installeer je Git voor Windows. Klik op Downloaden om toegang te krijgen tot Git Bash, een emulator waarmee je met Git kunt communiceren, net zoals op een Linux- of Mac-terminal. Je krijgt ook Git GUI, die je een gebruikersinterface geeft voor bijna alle Git-opdrachten die je in Git Bash kunt typen, en shell-integratie zodat je Git Bash of Git GUI snel vanuit elke map kunt openen.

Veel ontwikkelaars op Windows gebruiken liever PowerShell als hun terminalomgeving. Je kunt Git gebruiken binnen PowerShell.

Zoek eerst de Terminal-applicatie:

  • Op een Mac kunt u op het vergrootglas rechtsboven op uw bureaublad klikken, Terminal typen, de terminal in de lijst met applicaties selecteren en op Enter drukken of erop klikken. In Linux drukt u tegelijkertijd op Ctrl-Alt-T en het terminalvenster wordt geopend. Klik in Windows op het Windows-menu rechtsonder op uw bureaublad, zoek Git Bash, selecteer de Git Bash-toepassing in de lijst met zoekresultaten en druk op Enter of klik erop.

Wanneer de toepassing wordt geopend, typt u git --version in de terminal. Als je Git hebt geïnstalleerd, zou je een versienummer moeten zien, zoals getoond in de volgende code (de $ zou al op de regel moeten staan, dus je hoeft het niet te typen). Anders kunt u deze instructies volgen.

Wanneer u de opdrachtregel gebruikt, moet u heel voorzichtig zijn met wat u typt. In de volgende code is de eerste instructie dat je git --version typt. Merk op dat er een spatie tussen git en de rest van de instructie verschijnt, maar geen andere spaties. Let ook op de twee streepjes voor de woordversie. Ze kunnen gemakkelijk te missen zijn, dus wees voorzichtig!

Voor Mac of Linux zou je zoiets moeten zien:

$ git --versie

git versie 2.16.3

$

Voor Windows zou je zoiets moeten zien:

$ git --versie

git versie 2.20.1.windows.1

$

Ga vervolgens met behulp van de terminal naar je bureaublad en maak een nieuwe map met de naam git practice. Om dit te doen, moet u de volgende opdrachten typen:

$ cd ~ / Desktop

$ mkdir git-praktijk

$ cd git-practice

$

Als je pwd typt, zou je moeten zien dat je nu in de map git-practice bent, die op je bureaublad staat. Het ziet er ongeveer zo uit:

$ pwd

$ / Gebruikers / sguthals / Desktop / git-practice

$

Nu kun je git vertellen om deze map te volgen met het init commando.

$ git init

Geïnitialiseerde lege Git-repository in / Users / sguthals / Desktop / git-practice

$

Zorg vervolgens dat u een schone map hebt. U kunt controleren met de statusopdracht:

$ git status

Op filiaalmeester

Nog geen verplichtingen

niets om te plegen (maak / kopieer bestanden en gebruik "git add" om bij te houden)

$

Vervolgens kun je een bestand maken om Git te laten volgen en bevestigen dat het bestand zich in de map bevindt:

$ echo "git oefenen"> file.txt

$ ls

file.txt

$

Op een Mac kunt u deze map in een Finder openen met de opdracht open :

$ open.

$

In Linux kunt u deze map openen met de opdracht nautilus :

$ nautilus.

$

In Windows kunt u deze map openen met de opdracht van de verkenner:

$ ontdekkingsreiziger.

$

In dit voorbeeld zetten we. als het voor elke opdracht. . vertelt de terminal om de huidige map te openen. U kunt ook een ander pad gebruiken met deze opdrachten om andere mappen te openen.

Nadat de map is geopend, dubbelklikt u op het bestand file.txt en het bestand wordt geopend met TextEdit op Mac, gedit op Linux en Kladblok op Windows. Je kunt zien dat de woorden 'git oefenen' er eigenlijk zijn.

Sluit het bestand. Nu kun je Git vertellen dat je dit als een bepaalde versie wilt opslaan. Terug in de terminal:

$ git add file.txt

$ git commit -m "Mijn bestand aan deze versie toevoegen"

[master (root-commit) 8d28a21] Mijn bestand toevoegen aan deze versie

1 bestand gewijzigd, 1 invoeging (+)

Maak modus 100644 file.txt

$ git status

Op filiaalmeester

niets om te plegen, werkende boom schoon

$

U kunt uw bestand wijzigen in het tekstbestand. Open het bestand opnieuw, verander de tekst en zeg “Hallo! Ik oefen git vandaag! 'En klik vervolgens op Bestand → Opslaan en sluit de teksttoepassing.

Wanneer je teruggaat naar de Terminal om de status van je project opnieuw te controleren, zou je moeten zien dat Git heeft gemerkt dat het bestand is gewijzigd:

$ git status

Op filiaalmeester

Niet gewijzigd voor commit:

(gebruik "git add

{gebruik "git checkout - ..." om de wijzigingen in de werkmap te negeren)

gewijzigd: file.txt

niet gewijzigd toegevoegd aan commit (gebruik "git add" en / of "git commit -a")

$

Leg deze versie van je bestand opnieuw vast en merk op dat Git herkent dat alles is opgeslagen in een nieuwe versie:

$ git add file.txt

$ git commit -m "Ik heb de tekst gewijzigd"

[master 6d80a2a] Ik heb de tekst gewijzigd

1 bestand gewijzigd, 1 invoeging (+), 1 verwijdering (-)

$ git status

Op filiaalmeester

niets om te plegen, werkende boom schoon

$

Als uw terminal te rommelig begint te worden, kunt u clear typen om ruimte vrij te maken en het visueel aantrekkelijker te maken. Maak je geen zorgen; je kunt altijd omhoog scrollen en alles zien wat je eerder hebt getypt!

Zeg dat je eigenlijk de oorspronkelijke wijziging wilt zien; wanneer je "git oefenen" hebt toegevoegd. Haal eerst het logboek op van alle commits die je hebt gemaakt:

$ git log

commit 6d80a2ab7382c4d308de74c25669f16d1407372d (HEAD -> master)

Auteur: sguthals

Datum: zo 9 december 08:54:11 2018 -0800

Ik heb de tekst veranderd

commit 8d28a21f71ec5657a2f5421e03faad307d9eec6f

Auteur: sguthals

Datum: zo 9 december 08:48:01 2018 -0800

Mijn bestand toevoegen aan deze versie

$

Vraag dan Git om je de eerste commit te laten zien die je hebt gemaakt (de onderste). Zorg ervoor dat je je unieke commit hash typt. In deze voorbeelden begint de hash met 8d28a2. Zorg ervoor dat je de hele hash typt die wordt weergegeven in je Git-logboek:

In plaats van de hele hash te typen (en mogelijk een typefout te hebben), kun je de hash met je muis markeren, met de rechtermuisknop klikken en kopiëren kiezen en na git-checkout kun je met de rechtermuisknop klikken en Plakken kiezen. Het gebruik van de sneltoetsen Ctrl + C of Command -C werkt niet

$ git show 8d28a21f71ec5657a2f5421e03faad307d9eec6f

commit 8d28a21f71ec6567a2f5421e03faad307d9eec6f

Auteur: sguthals

Datum: zo 9 december 08:48:01 2018 -0800

Mijn bestand toevoegen aan deze versie

diff --git a / file.txt b / file.txt

nieuwe bestandsmodus 100644

index 0000000..849a4c7

--- / dev / null

+++ b / file.txt

@@ -0,0 +1 @@

+ git oefenen

$

Je kunt zien dat het oefenen van git is toegevoegd aan het bestand in die oorspronkelijke commit.

Bekijk de volgende bronnen voor meer informatie over het gebruik van git op de opdrachtregel:

  • Het GitHub Git Cheat Sheet Het visuele cheatsheet De Git Docs-pagina

Er zijn nog een paar bronnen beschikbaar voor het leren en begrijpen van Git, waarmee gebruikers van Windows een vergelijkbare workflow kunnen ervaren omdat ze visualisaties zijn die op een website worden gehost. De eerste link is een goede zelfgeleide set oefeningen, terwijl de tweede link het best wordt gebruikt voor mensen die een goed begrip van Git hebben en willen verkennen wat er zal gebeuren in verschillende scenario's, of voor mensen die een meer ervaren Git-gebruiker hebben hen begeleiden.

Git vertakking door medewerker

Git verschilt van andere versiebeheersystemen omdat het een snelle vertakking heeft, zoals getoond in de volgende afbeelding. Vertakking is een Git-functie die in wezen code kopieert (elke vertakking is een kopie van de code), waarmee u wijzigingen kunt aanbrengen aan een specifieke kopie en uw wijzigingen vervolgens weer samenvoegt in de hoofdtak.

Git takken

Wanneer je code schrijft, zul je bestanden toevoegen en wijzigingen doorvoeren in je master branch. De figuur schetst een specifieke workflow waarbij twee mensen samenwerken aan hetzelfde bestand. Persoon 1 maakt een nieuwe tak aan met de naam MyBranch en brengt enkele wijzigingen aan in het bestand. Persoon 2 maakt ook een nieuwe branch genaamd YourBranch en brengt enkele wijzigingen aan in hetzelfde bestand. U kunt deze wijziging zien in vak # 1.

Je ziet het verschil (diff genoemd) tussen de hoofdtak en MyBranch in vak # 2.

Vervolgens voegt Persoon 1 hun wijzigingen samen met de hoofdtak, zoals u kunt zien in vak # 3.

Persoon 2 heeft zijn eigen wijzigingen aangebracht, maar voordat ze worden samengevoegd, zorgen ze ervoor dat ze de meest bijgewerkte versie van de hoofdvertakking hebben, die nu de wijzigingen van persoon 1 heeft. Het verschil is te zien in vak # 4. Let op wat tekst in beide bestanden is.

Ten slotte erkent persoon 2 dat hun wijzigingen de wijzigingen van persoon 1 zullen overschrijven en voegt deze wijzigingen samen met master, waardoor de definitieve versie de wijzigingen van persoon 2 heeft. Vak # 5 toont deze laatste samenvoeging, waarbij de master branch de laatste wijzigingen heeft.

De afbeelding toont slechts één workflow die kan bestaan ​​wanneer meer dan één persoon aan code werkt en is bedoeld om vertakking te beschrijven. Krijg een dieper inzicht in Git en vertakking.

Git vertakking door functie

Een andere veel voorkomende manier om vertakking te gebruiken, is om elke functie die u ontwikkelt in een andere filiaal te hebben, ongeacht de medewerker die de functie bouwt.

U kunt het idee van vertakking uitbreiden per functie om ook één vertakking te hebben die uw productietak is. Deze tak is wat uw gebruikers zullen zien. Dan kunt u een ontwikkelingstak hebben, een functie waarin u functies kunt samenvoegen zonder te veranderen wat uw gebruikers zien.

Met dit type vertakking kunt u veel verschillende functies bouwen, ze elk in de ontwikkelingstak samenvoegen, ervoor zorgen dat ze allemaal werken zoals u wilt, en vervolgens de ontwikkelingstak in de productietak samenvoegen wanneer u weet dat deze klaar is voor uw gebruikers .

Git vertakking voor experimenten

Je kunt ook takken maken om te testen of iets werkt en dan de tak volledig weggooien.

Dit type vertakking kan handig zijn als u bijvoorbeeld een volledig nieuwe lay-out van een website wilt proberen. U kunt drie verschillende takken maken, elk met een andere lay-out. Nadat u hebt besloten welke lay-out u het leukst vindt, kunt u eenvoudig de andere twee takken verwijderen en de tak met uw favoriete lay-out samenvoegen tot master.