1. Nettdesign og utviklingGit versjonskontroll

Av Sarah Guthals

Som det samme antyder, er GitHub bygget på Git. Git er en type versjonskontrollsystem, og det er gratis og åpen kildekode, noe som betyr at hvem som helst kan bruke det, bygge oppå det og til og med legge til det.

GitHub-produkter gjør det enkelt å bruke Git, men hvis du er nysgjerrig, kan du også bruke Git til å spore solo-prosjektene dine på datamaskinen din.

Prøv enkel Git på terminalen

Ved hjelp av Git for Windows er det å bruke terminalen på Mac-, Windows- eller Linux-datamaskiner nøyaktig det samme. En terminal er et program som lar deg samhandle med datamaskinen din på en tekstbasert måte - med andre ord, i stedet for å dobbeltklikke og dra, skriver du kommandoer for å navigere i datamaskinen.

Hvis du er på Mac eller Linux, er en terminal allerede installert på datamaskinen din. Hvis du bruker en Windows-datamaskin, installerer du Git for Windows. Klikk på Last ned for å få tilgang til Git Bash, en emulator som lar deg samhandle med Git akkurat som du ville gjort på en Linux- eller Mac-terminal. Du får også Git GUI, som gir deg et brukergrensesnitt for nesten alle Git-kommandoer du kanskje skriver inn i Git Bash, og skallintegrering slik at du raskt kan åpne Git Bash eller Git GUI fra hvilken som helst mappe.

Mange utviklere på Windows foretrekker å bruke PowerShell som terminalmiljø. Du kan bruke Git i PowerShell.

Finn først applikasjonen Terminal:

  • På Mac kan du klikke på forstørrelsesglasset øverst til høyre på skrivebordet ditt, skrive Terminal, velge terminalen fra listen over applikasjoner og trykke Enter eller klikke på den. Trykk på Ctrl-Alt-T på Linux samtidig, og terminalvinduet åpnes. I Windows klikker du på Windows-menyen nederst til høyre på skrivebordet ditt, søker i Git Bash, velger Git Bash-applikasjonen fra listen over søkeresultater, og trykker på Enter eller klikker på den.

Når applikasjonen åpnes, skriver du git --version i terminalen. Hvis du har Git installert, skal du se et versjonsnummer, som vist i følgende kode ($ skal allerede være på linjen, så du trenger ikke å skrive det). Ellers kan du følge disse instruksjonene.

Når du bruker kommandolinjen, må du være veldig forsiktig med nøyaktig hva du skriver. I følgende kode er den første instruksjonen du skal skrive git --version. Du må merke deg at det vises et mellomrom mellom git og resten av instruksjonen, men ingen andre mellomrom. Du bør også merke deg de to bindestrekene før ordversjonen. De kan være lette å savne, så vær forsiktig!

For Mac eller Linux bør du se noe slikt:

$ git --versjon

git versjon 2.16.3

$

For Windows bør du se noe slikt:

$ git --versjon

git versjon 2.20.1.windows.1

$

Deretter bruker du terminalen til skrivebordet ditt og oppretter en ny mappe som heter git practice. For å gjøre dette, må du skrive inn følgende kommandoer:

$ cd ~ / Desktop

$ mkdir git-praksis

$ cd git-praksis

$

Hvis du skriver pwd, skal du se at du nå er i mappen git-practice, som er på skrivebordet ditt. Det kan se slik ut:

$ pwd

$ / Brukere / sguthals / Desktop / git-practice

$

Nå kan du fortelle git å spore denne mappen ved å bruke init-kommandoen.

$ git init

Initialisert tomt Git-lager i / Brukere / sguthals / Desktop / git-praksis

$

Så sørg for at du har en ren mappe. Du kan sjekke med statuskommandoen:

$ git status

På grenmester

Ingen forpliktelser ennå

ingenting å forplikte (opprette / kopiere filer og bruk "git add" for å spore)

$

Deretter kan du opprette en fil slik at Git begynner å spore og bekrefte at filen er i mappen:

$ ekko "øve på git"> file.txt

$ ls

file.txt

$

På Mac kan du åpne denne mappen i en Finder med den åpne -kommandoen:

$ åpen.

$

På Linux kan du åpne denne mappen med nautilus -kommandoen:

$ nautilus.

$

På Windows kan du åpne denne mappen med utforsker -kommandoen:

$ explorer.

$

I dette eksemplet la vi. som for hver kommando. . ber terminalen om å åpne gjeldende mappe. Du kan også bruke en annen bane med disse kommandoene for å åpne andre mapper.

Etter at mappen er åpen, dobbeltklikker du på filen som heter file.txt, og filen åpnes med TextEdit på Mac, gedit på Linux og Notisblokk på Windows. Du kan se at ordene “øve på git” faktisk er der.

Lukk filen. Nå kan du fortelle Git at du vil lagre dette som en bestemt versjon. Tilbake i terminalen:

$ git legge til fil.txt

$ git commit -m "Legger til filen min i denne versjonen"

[master (root-commit) 8d28a21] Legger til filen min i denne versjonen

1 fil endret, 1 innsetting (+)

Opprett modus 100644 file.txt

$ git status

På grenmester

ingenting å forplikte, arbeider rent

$

Du kan gjøre en endring av filen din i tekstfilen. Åpne filen igjen, endre teksten for å si "Hei! Jeg øver på git i dag! ”Og klikk deretter Fil → Lagre og lukk tekstprogrammet.

Når du går tilbake til terminalen for å sjekke statusen til prosjektet ditt igjen, bør du se at Git har lagt merke til at filen har endret seg:

$ git status

På grenmester

Endret ikke iscenesatt for forpliktelse:

(bruk "git add

{bruk "git checkout - ..." for å forkaste endret i arbeidskatalogen)

endret: file.txt

ingen endringer lagt til for å begå (bruk "git add" og / eller "git commit-a")

$

Begå denne versjonen av filen din igjen og legg merke til at Git erkjenner at alt er lagret i en ny versjon:

$ git legge til fil.txt

$ git commit -m "Jeg har endret teksten"

[master 6d80a2a] Jeg endret teksten

1 fil endret, 1 innsetting (+), 1 sletting (-)

$ git status

På grenmester

ingenting å forplikte, arbeider rent

$

Hvis terminalen begynner å bli for uoversiktlig, kan du skrive klar for å rydde litt plass og gjøre den mer visuelt tiltalende. Ikke bekymre deg; Du kan alltid bla opp og se alt du skrev tidligere!

Si at du faktisk vil se den opprinnelige endringen; når du la til “øve git”. Først får du loggen over alle forpliktelsene du har gjort:

$ git logg

forplikte 6d80a2ab7382c4d308de74c25669f16d1407372d (HEAD -> master)

Forfatter: sguthals

Dato: Søn 9. desember 08:54:11 2018 -0800

Jeg endret teksten

forplikte 8d28a21f71ec5657a2f5421e03faad307d9eec6f

Forfatter: sguthals

Dato: Søn 9. des 08:48:01 2018 -0800

Legger til filen min i denne versjonen

$

Så ber Git vise deg den første forpliktelsen du har gjort (den nederste mest). Forsikre deg om at du skriver inn ditt unike engasjement-hash. I disse eksemplene starter hasjen med 8d28a2. Forsikre deg om at du skriver inn hele hasjen som vises i Git-loggen din:

I stedet for å skrive inn hele hasjen (og muligens ha en skrivefeil), kan du fremheve hasjen med musen, høyreklikke og velge kopi, og deretter etter git-kassen, kan du høyreklikke og velge Lim inn. Å bruke tastatursnarveiene Ctrl + C eller Command -C fungerer ikke

$ git show 8d28a21f71ec5657a2f5421e03faad307d9eec6f

forplikte 8d28a21f71ec6567a2f5421e03faad307d9eec6f

Forfatter: sguthals

Dato: Søn 9. des 08:48:01 2018 -0800

Legger til filen min i denne versjonen

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

ny filmodus 100644

indeks 0000000..849a4c7

--- / dev / null

+++ b / file.txt

@@ -0,0 +1 @@

+ å øve på git

$

Du kan se at å øve på git ble lagt til filen i den opprinnelige forpliktelsen.

For mer informasjon om hvordan du bruker git på kommandolinjen, sjekk ut følgende ressurser:

  • The GitHub Git Cheat Sheet Visual Git Cheat Sheet Git Docs-siden

Et annet par ressurser er tilgjengelige for å lære og forstå Git, som gjør det mulig for brukere på Windows å oppleve en lignende arbeidsflyt fordi de blir visualisert på et nettsted. Den første koblingen er et godt selvstyrt sett med øvelser, mens den andre koblingen er best brukt for folk som har en anstendig forståelse av Git og ønsker å utforske hva som vil skje i forskjellige scenarier, eller for folk som har en mer ekspert Git-bruker veilede dem.

Git forgrening av samarbeidspartner

Git er forskjellig fra andre versjonskontrollsystemer fordi den har rask forgrening, vist i figuren nedenfor. Forgrening er en Git-funksjon som i hovedsak kopierer kode (hver gren er en kopi av koden), lar deg gjøre endringer på en spesifikk kopi og deretter slå sammen endringene tilbake til hovedgrenen (master).

Git grener

Når du skriver kode, vil du legge til filer og gjøre endringer i hovedgrenen. Figuren skisserer en spesifikk arbeidsflyt der to personer samarbeider om den samme filen. Person 1 oppretter en ny gren kalt MyBranch og gjør noen endringer i filen. Person 2 oppretter også en ny gren kalt YourBranch og gjør noen endringer i den samme filen. Du kan se denne endringen i boks nr. 1.

Du kan se forskjellen (kalt diff) mellom mastergrenen og MyBranch i boks nr. 2.

Deretter slår Person 1 sammen endringene med mastergrenen, som du kan se i boks nr. 3.

Person 2 har gjort sine egne endringer, men før de fusjonerer, vil de sørge for at de har den mest oppdaterte versjonen av mastergrenen, som nå har endringene fra Person 1. Differansen kan sees i boks # 4. Legg merke til hvilken tekst som er i begge filene.

Til slutt erkjenner Person 2 at endringene deres vil overskrive Person 1's endringer og slå sammen endringene med master, slik at den endelige versjonen har endringene fra Person 2. Boks nr. 5 viser denne endelige sammenslåingen, med mastergrenen som har de endelige endringene.

Figuren viser bare en arbeidsflyt som kan eksistere når mer enn en person jobber med kode og er ment å beskrive forgrening. Få en mer dyptgående oversikt over Git og forgrening.

Git forgrening etter funksjon

En annen vanlig måte å bruke forgrening på er å ha hver funksjon du utvikler til å være i en annen gren, uavhengig av samarbeidspartneren som bygger funksjonen.

Du kan utvide ideen om forgrening etter funksjon også til å ha en gren som er din produksjonsgren. Denne grenen er hva brukerne dine vil se. Da kan du ha en utviklingsgren, som er en som du kan slå sammen funksjoner til uten å endre det brukerne ser.

Denne typen forgrening lar deg bygge mange forskjellige funksjoner, slå dem sammen hver i utviklingsgrenen, sørge for at de alle fungerer slik du vil, og deretter slå sammen utviklingsgrenen til produksjonsgrenen når du vet at den er klar for brukerne dine .

Git forgrening for eksperimentering

Du kan også lage grener for å teste for å se om noe fungerer og deretter kaste grenen helt bort.

Denne typen forgrening kan være nyttig hvis du for eksempel vil prøve en helt ny layout av et nettsted. Du kan lage tre forskjellige grener, hver med en annen layout. Når du har bestemt deg for hvilken layout du liker best, kan du bare slette de to andre grenene og slå sammen grenen med favorittoppsettet til master.