Introduksjon til Git

Da jeg begynte å bygge nettsider, “cowboykodet” jeg, noe som betyr at jeg ofte redigerte filer live på serveren. Det tok meg bare noen få ødelagte nettsteder for å innse at dette var en forferdelig idé. Så begynte jeg å bygge nettsteder lokalt på datamaskinen min. Mer enn én gang redigerte jeg en lokal fil bare for å migrere filen til feil plassering i FTP-klienten min. Noen ganger ville det bety at jeg ville overskrive en fil som jeg ikke kunne fikse uten å grave rundt etter en sikkerhetskopi jeg forhåpentligvis hadde beholdt.

Hvis du fortsatt arbeider med FTP og ikke kan rulle filene tilbake, er det på tide å lære om bruk av Git for versjonskontroll.

Hva er versjonskontroll?

Et versjonskontrollsystem (VCS) er en type programvare som hjelper programvareutviklere med å administrere endringer i koden deres over tid. Et godt VCS-system vil holde styr på hver endring i koden som gjøres. Dette betyr at hvis du bryter noe, kan du rulle tilbake til en tidligere versjon av koden som fungerte, uten å prøve å trykke “Angre” før ting fungerer.

I et teammiljø vil en VCS hjelpe deg å jobbe med forskjellige medlemmer ved å gi deg verktøy som lar deg slå sammen endringer i kode når forskjellige medlemmer oppdaterer filer.

En av tingene jeg gjør i Git er å lage en ny gren for hver funksjon jeg bygger. Dette betyr at jeg kan holde styr på endringene jeg gjør på en gren, men likevel komme tilbake til den nåværende tilstanden til nettstedet ved å gå tilbake til hovedgrenen. Vi snakker mer om denne arbeidsflyten senere.

Hva er Git?

Git er et versjonskontrollsystem, men det er ikke det eneste. Hoveddepotet for WordPress kjøres via SVNselv om du kan finne en Git kopi også. Det er også Mercurial, Visuell kildesikker, VESTAog mange andre alternativer.

Til tross for alle disse alternativene, er Git det nesten alle bruker, så det er versjonskontrollen vi skal lære om i dag.

Grunnleggende Git-vilkår og -kommandoer

Før vi graver inn i mekanikken for hvordan vi bruker Git, må vi forstå noen få begreper. Vi skal bare dekke vilkårene du vil støte på regelmessig.

Legg til: Når du har gjort endringer i koden din vil du bruke kommandoen git add for å legge til endringene slik at de kan forpliktes.

gren: En gren er en versjon av depotet ditt som har en forskjell fra hovedprosjektet. Alle depoter kommer med en hoved- eller, mer vanlig i eldre prosjekter, en hovedgren. Nylig Gitog Github har begynt å endre standard filialnavn fra master til hoved på grunn av de historiske problemene med ordet master. Git 2.28 lar deg også angi standard filialnavn for ethvert nytt prosjekt.

Å lese:  Agency Spotlight: How wpXPRESS Grow Til tross for...

Sjekk ut: Du bruker git checkout-kommandoen for å bytte mellom forskjellige grener i et depot. Når du bruker denne kommandoen, endrer Git innholdet i filene eller legger til og fjerner filer som er forskjellige mellom grenene.

Klone: Git clone-kommandoen brukes til å lage en kopi av et depot fra kildedepotet. Du vil bruke denne kommandoen til å få en lokal kopi av et eksternt depot slik at du kan jobbe med koden.

Begå: Når du har brukt git add må du bruke git commit for å kunne lagre tilstanden til filene dine i git.

i det: git init oppretter et tomt depot for deg med alle de grunnleggende filene som Git trenger for å operere.

Slå sammen: Når du har gjort endringer på en gren og lagt til og forpliktet dem, bruker du git merge-kommandoen til å migrere disse endringene til andre grener.

Opprinnelse: Dette er standardnavnet for primærversjonen av depotet. Jeg endrer vanligvis min til å være mer beskrivende enn opprinnelse. Hvis jeg jobber med Github så endrer jeg innstillingene i Git slik at opprinnelsen blir github. Dette hjelper meg å holde ting klart i hodet mitt.

Trykk: Oppdaterer den eksterne grenen med commits som er gjort i din lokale versjon av depotet.

Oppbevaringssted: Dette kan også kalles en “Repo” og er en katalog med alle filene, og en Git-historikk med endringer i disse filene.

Status: git-status viser deg gjeldende status for arbeidslageret ditt.

.gitignore: Dette er en skjult fil som inneholder mønstre av filer som Git ikke vil bry å spore. Hvis du har .DS_Store i .gitignore-filene dine, vil den ignorere alle de irriterende filene som macOS ofte legger i mapper.

Hosting Git Repositories

En annen ting å forstå før du dykker inn er at selv om du ikke trenger en ekstern plassering for depotet ditt, vil det å ikke ha en redusere noen av fordelene med å bruke Git. Uten et eksternt depot som er vert et annet sted, vil du ikke ha en sikkerhetskopi av koden din hvis datamaskinen dør eller blir stjålet.

Github og Bitbucket er to av de mer populære stedene å være vert for dine Git-lagre fordi de stort sett er gratis, og du kan ha private depoter. Det betyr at koden din er på andres server, så hvis du ikke liker den ideen, kan du bruke den Gitlab på serveren din for å være vert for depoter.

Å lese:  Kundeoppbevaringsråd: 4 beste WooCommerce-plugins for å beholde kunder

Installerer Git

På macOS er den enkleste måten å installere git på å åpne Terminal og skrive git som vil be deg om å laste ned Xcode Command Line-verktøy for å installere git. Når det er ferdig, kan du kjøre git –version for å se hvilken versjon av git du har. Hvis det ikke fungerer, er det en noen andre måter å installere git på macOS.

For Windows-brukere kan du installere Git med offisielt Git-installasjonsprogram. Git kommer også sammen med Github Desktop-applikasjonen, som vi skal snakke om senere.

Hvis du er på Linux, bør git være sammen med pakkebehandleren din, eller du kan se på disse måtene å installer git på Linux.

Konfigurere Git-standarder

Når du har installert Git, må du konfigurere den slik at hver commit bruker navnet ditt og e-posten og commit-meldinger for å bruke din foretrukne editor til å legge inn kommentarer som følger med commit. Vi skal se på måten å sette disse på i macOS via Terminal-applikasjonen.

git config –global bruker.navn “Ditt navn” vil angi navnet som følger med hver commit som gjøres på datamaskinen din.

git config –global user.email “[email protected]” vil angi e-postadressen som er knyttet til hver commit du foretar.

git config –global core.editor vim vil gjøre standardredigereren for Git vim. Selv om jeg elsker vim, er det ikke redaktøren alle elsker. Hvis du bruker Atom så bruker du git config –global core.editor “atom –wait” eller git config –global core.editor “subl -n -w” for Sublim tekst.

Etablere et depot

Nå som vi har git installert og konfigurert, la oss starte et grunnleggende depot. Åpne terminalen og lag en mappe kalt test-repository ved å skrive mkdir test-repository. Skriv deretter cd test-repository for å bytte til test-repository-katalogen din og skriv git init.

På dette tidspunktet vil du ha en skjult katalog i mappen din kalt .git. Siden det er en skjult fil, må du skrive ls -a i Terminal for å vise skjulte filer.

Bruker git add

La oss nå lage en fil ved å skrive touch test.txt inn i Terminal. Skriv deretter git status for å se filen du nettopp la til.

Som du kan se, vises den nye filen vi opprettet i rødt og forteller oss at statusen er usporet. Det betyr at Git ser filen, men ikke har noen oversikt over den.

Skriv git add test.txt for å fortelle Git å iscenesette denne filen, skriv deretter git status igjen og Git skal fortelle deg at den vet om en endret fil.

Sender filer til Git

Nå som vi har lagt til filen vår, må vi forplikte den slik at Git lagrer statusen til filen. Vi kan gjøre dette på en enkelt linje, uten å åpne standardredigeringsprogrammet vårt med følgende kommando.

Å lese:  13 grunner til at Magento er ideell for B2B-virksomhet

git commit -m ‘legger til vår første fil’

Flagget -m forteller git at ordene i enkle anførselstegn er kommentaren som følger med kommandoen.

Nå har vårt depot en enkelt fil med statusen lagret.

Opprett en gren

Den virkelige kraften til Git kommer når du begynner å komme inn i forgrening. La oss si at du vil skrive en haug i test.txt-filen din, men ikke er sikker på om du kommer til å beholde den og vil være sikker på at du kan komme tilbake til den tomme filen. Vi kan gjøre dette med en gren.

For å lage en filial kan vi skrive git checkout -b new-branch. Dette er en snarvei for å lage en filial samtidig som vi sjekker ut filialen, og det er det jeg bruker hver gang jeg skal opprette en filial.

Åpne nå test.txt-filen vår, legg til litt tekst i den og lagre den. Bruk deretter git add og git commit som ovenfor for å lagre tilstanden til filen.

Deretter skriver du git checkout master for å bytte tilbake til standard hovedgren og deretter se på innholdet i test.txt-filen din igjen. Du vil legge merke til at all teksten du skrev er fjernet. Git ville til og med slette en ny fil som bare var på én gren, selv om den holder oversikt over den slik at den ikke er borte.

Slå sammen en gren

Nå elsker vi det vi skrev i filen vår, så la oss integrere det med hovedgrenen vår. Sørg for at du er på hovedgrenen og skriv git merge new-branch for å integrere endringene dine.

Hvis du ser på innholdet i test.txt nå, vil du finne endringene dine på hovedgrenen akkurat da du forlot dem.

Bruker Git med WordPress

Mens eksemplet ovenfor var ekstremt enkelt, er det alt du trenger for å komme i gang med Git i prosjektene dine. Så la oss snakke om nøyaktig hvordan du får et WordPress-prosjekt ved å bruke Git.

Den første vurderingen er hvilket nivå i mappehierarkiet som skal være roten til Git-depotet ditt. Hvis du bygger en tema, så kan du gjøre temamappen til ditt depot. Den samme logikken gjelder hvis du bygger en plugg inn.

Jeg jobber vanligvis med temaer og plugins samtidig, så jeg bruker ofte wp-content-mappen som plassering for depotet mitt. Når jeg gjør dette sørger jeg for å ignorere opplastingsmappen slik at jeg ikke legger til alle bildene og opplastede filene til depotet. De roter opp depotet og kan bremse Git fordi det ikke er bra til å komprimere bildefiler.

Å lese:  Alt du trenger å vite for å utvikle en e-handelsmarkedsføringsstrategi

Hvis jeg håndterer en hel distribusjonsarbeidsflyt, gjør jeg WordPress-rotmappen til hovedplasseringen for Git-depotet mitt. Så sørger jeg for å legge til wp-content/uploads og wp-config.php til .gitignore-filen min. wp-config.php er spesifikk for hver WordPress-installasjon, så jeg vil ikke at den skal distribueres over noen annen versjon av filen som vil føre til at nettstedet slutter å fungere.

Du kan se en kopi av .gitignore-filen Jeg bruker som utgangspunkt for hvert prosjekt. Det forutsetter at du bruker wp-innhold som roten til Git-depotet ditt, så jeg endrer noen av ignoreringsmønstrene hvis jeg er roten til WordPress.

Git GUI-applikasjoner

Selv om vi har dekket det grunnleggende via kommandolinjen for Git, er ikke alle komfortable på kommandolinjen, jeg vet at jeg ikke var det da jeg begynte å bruke Git. Selv nå vil jeg av og til se på en visuell representasjon av hva Git gjør før jeg gjør noen endringer i oppsettet mitt.

Heldigvis er det flere flotte GUI-klienter for Git som du kan bruke, så la oss fremheve noen.

Github Desktop (Windows/macOS)

Et flott sted å starte når du ser på Git GUI-klienter er med Github Desktop-applikasjonen.

Mange åpen kildekode-prosjekter bruker Github som kodelager for samarbeid og bruker standarden Github flyt å gjøre arbeidet sitt. Github Desktop-klienten er bygget for å hjelpe deg med å håndtere denne flyten, slik at det blir enklere å lage pull-forespørsler.

Dessverre for Linux-brukere er det ingen offisiell Github Desktop-applikasjon, men det er en gaffel av Github Desktop som vil installeres på Linux-systemer.

Git Tower (Windows/macOS)

Git GUI jeg bruker er Git Tower. Git Tower er tilgjengelig for macOS og Windows. Da jeg begynte med Git, fant jeg det mye lettere å løse konflikter og se hva som var forskjellig mellom filer inne i denne GUI.

Arbeidskopi (iOS/iPadOS)

Hvis du hovedsakelig jobber fra en iPad, som jeg gjør, så bør du se på Arbeidskopi. Working Copy er en Git-klient med alle funksjoner som fungerer med iOS og iPadOS. Den har til og med snarveisintegrasjon slik at du kan automatisere deler av Git-arbeidsflyten din.

Innpakning

Selv om vi har dekket mye av din Git-kunnskap i dag, er det ingen måte et enkelt blogginnlegg kan være uttømmende om emnet. Du kan fortsette å lære med Nødvendig hjelpedokumentasjon så vel som disse utmerkede ressursene.

Ved å bruke Git til å administrere klientprosjektene dine, vil du spare deg selv for hodepine siden du kan rulle tilbake endringer eller forkaste hele grener hvis du ikke lenger vil ha arbeidet du har gjort. Ikke mer Ctrl + Z før du tror du har rullet tilbake langt nok, Git vil holde styr på det hele for deg.

Nye publikasjoner:

Anbefaling