10 avanserte git-teknikker - KDnuggets

10 avanserte git-teknikker – KDnuggets

Kilde node: 3083811

10 avanserte git-teknikker
Bilde fra forfatter
 

Har du noen gang lurt på hva du kan gjøre for å se ut som en proff foran manageren din når du bruker Git? I dette innlegget vil vi lære om 10 avanserte Git-teknikker og snarveier som vil gjøre deg mer effektiv til å versjonere, vedlikeholde og dele kode.

Du vet sannsynligvis allerede det grunnleggende om å forplikte seg, skyve, trekke og forgrene seg med Git. Men det er mange mindre kjente kommandoer og funksjoner som kan øke ferdighetene dine. Etter å ha lest dette, vil du ha noen smarte triks i ermet for å imponere kollegaer med dine Git-ferdigheter.

Du har lagt til og lagt til filene på denne måten flere ganger, men hva om jeg forteller deg at det kan gjøres på én linje med "-am"-flagget? 

$ git add .
$ git commit -m "new project"

 

Prøv dette i stedet, og det vil legge til filendringene og opprette commit ved å bruke meldingen. 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

Du kan gi nytt navn til den nåværende commit-meldingen ved å bruke «–endrings»-flagget og skrive den nye meldingen. Dette vil hjelpe deg med utilsiktede meldinger.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

Du kan inkludere ytterligere endringer i gjeldende forpliktelse før du skyver den til det eksterne depotet. For å gjøre det, må du legge til filendringene og deretter forplikte deg ved å bruke "–endrings"-flagget. For å beholde den forrige commit-meldingen, bruk "–no-edit"-flagget.

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

Hvis du vil presse en lokal forpliktelse og overstyre den eksterne historikken uten å løse problemer, kan du bruke «–force»-flagget. Det er imidlertid viktig å merke seg at bruk av kraftflagget ikke anbefales og bør kun brukes når du er helt sikker på hva du gjør. Husk at bruk av kraftflagget vil omskrive den eksterne historien.

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

For å angre en forpliktelse i Git, kan du bruke 'revert'-kommandoen. Denne kommandoen fjerner imidlertid ingen forpliktelser. I stedet oppretter den en ny forpliktelse som angrer endringene som ble gjort av den opprinnelige forpliktelsen.

Vi vil bruke `loggen` med `–oneline`-flagget for å se commit-historikken i en kortere form. 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

For å gå tilbake til en tidligere commit bruker vi kommandoen `git revert` etterfulgt av commit ID. Dette oppretter en ny commit med endringene fra forrige commit.

$ git revert 8f184d5

Vil du øke produktiviteten din på GitHub? Med GitHub Code Spaces kan du nå redigere og kjøre koden din direkte i nettleseren din. 

For å få tilgang til denne funksjonen, naviger ganske enkelt til favorittlageret ditt, trykk på punktum-tasten (“.”) på tastaturet ditt, og det vil omdirigere deg til VSCode-grensesnittet.

 

10 avanserte git-teknikker
Bilde fra forfatter
 

Du kan gjøre endringer i koden og skyve dem til det eksterne depotet ditt. Men hvis du vil kjøre koden i terminalen, må du kjøre Codespace i skyen. Gratisversjonen tilbyr et utmerket alternativ for å kjøre Python-koden i nettleseren din. Er ikke det kjempebra? Jeg fant ut om det i dag.

 

10 avanserte git-teknikker
Bilde fra forfatter

Når du jobber med et prosjekt, kan du legge til filer i et oppsamlingsområde og deretter forplikte dem til å lagre den nåværende fremgangen din. Imidlertid er det en annen måte å lagre arbeidet ditt enkelt ved å bruke 'stash'-kommandoen. Når du bruker "stash", lagrer du den nåværende fremdriften din uten å legge den til i oppsetningsområdet eller forplikte den. Dette lar deg lagre fremgangen din og gjenopprette den når du trenger det.

Vi vil lagre vår nåværende fremgang ved å oppgi et navn og gjemme det. 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

Du kan se oppbevaringslisten din og notere den tilsvarende indeksen for å hente den.

$ git stash list

 

stash@{0}: On master: new-idea

 

Vårt stash av "nye ideer" er lagret i indeks 0. For å hente det, bruk denne kommandoen:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

Du har muligheten til å endre navn på standard filialnavn til noe mer passende. I dette tilfellet vil vi gi nytt navn til "master" til "main". 

$ git branch -M main

 

10 avanserte git-teknikker
 

Du kan bekrefte endringene ved å bruke følgende kommando: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

Hvis du vil se en detaljert historikk over alle forpliktelsene som er gjort i det gjeldende depotet, kan du bruke kommandoen `git log`. Utdataene kan imidlertid være vanskelige å lese. For å gjøre det mer lesbart kan du bruke flaggene `graf`, `dekorer` og `oneline`. Dette vil vise endringene som er gjort i flere grener og hvordan de smelter sammen.

$ git log --graph --decorate --oneline

 

10 avanserte git-teknikker

Ved flere anledninger har jeg byttet til en ny filial og glemt navnet på den forrige filialen. Følgelig måtte jeg bruke kommandoen `git branch -a` for å se listen over grennavn. Det er imidlertid en enklere måte å gå tilbake til den opprinnelige grenen ved å bruke bindestreken "-" etter kommandoen 'git checkout'.

Vi vil først lage den nye Git-grenen "neo".

$ git branch neo

 

Vi vil bytte til "neo"-grenen.

$ git checkout neo

 

Switched to branch 'neo'

 

For å gå tilbake til den opprinnelige grenen, bruker vi følgende kommando:

$ git checkout -

 

Switched to branch 'main'

Vi har lært om å overstyre det eksterne depotet. La oss lære hvordan du overstyrer det lokale depotet ved å bruke det eksterne depotet.

Vi vil bruke «hent»-kommandoen for å hente de siste endringene fra det eksterne depotet. 

$ git fetch origin

 

Deretter vil vi bruke 'reset'-kommandoen med 'hard'-flagget for å overstyre eventuelle lokale endringer med den eksterne versjonen. Vær oppmerksom på at dette vil forkaste eventuelle lokale endringer permanent.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

Hvis det fortsatt er usporede filer, kan de fjernes ved å bruke følgende kommando:

$ git clean -df

Jeg ble inspirert til å skrive denne artikkelen etter å ha sett en YouTube-video av Fireship. Jeg beundrer skaperen for hans evne til å forklare komplekse emner på en enkel måte. Ved å følge metoden hans har jeg lært mye om Git-funksjoner.

I denne artikkelen har vi dekket avanserte Git-teknikker som er avgjørende for dataforskere og programvareingeniører som jobber med et samarbeidende dataprosjekt. Å kjenne til disse teknikkene kan hjelpe deg med å unngå ulykker og løse problemer mye raskere.

Jeg håper du fant denne bloggen nyttig. Gi meg beskjed hvis du vil lese flere innlegg med byte-størrelse informasjon om vanlige verktøy i datavitenskapsverdenen.
 
 

Abid Ali Awan (@1abidaliawan) er en sertifisert dataforsker som elsker å bygge maskinlæringsmodeller. For tiden fokuserer han på innholdsskaping og skriver tekniske blogger om maskinlæring og datavitenskapsteknologier. Abid har en mastergrad i teknologiledelse og en bachelorgrad i telekommunikasjonsteknikk. Hans visjon er å bygge et AI-produkt ved å bruke et grafisk nevralt nettverk for studenter som sliter med psykiske lidelser.

Tidstempel:

Mer fra KDnuggets