10 avancerede Git-teknikker - KDnuggets

10 avancerede Git-teknikker – KDnuggets

Kildeknude: 3083811

10 avancerede git-teknikker
Billede fra forfatter
 

Har du nogensinde spekuleret på, hvad du kunne gøre for at se ud som en professionel foran din manager, når du bruger Git? I dette indlæg lærer vi om 10 avancerede Git-teknikker og genveje, der vil gøre dig mere effektiv til at versionere, vedligeholde og dele kode.

Du kender sandsynligvis allerede det grundlæggende i at begå, skubbe, trække og forgrene med Git. Men der er mange mindre kendte kommandoer og funktioner, der kan øge dine færdigheder. Efter at have læst dette, har du et par smarte tricks i ærmet for at imponere kolleger med dine Git-færdigheder.

Du har tilføjet og committet filerne på denne måde flere gange, men hvad hvis jeg fortæller dig, at det kan gøres på én linje med flaget `-am`? 

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

 

Prøv dette i stedet, og det vil tilføje filændringerne og oprette commit ved hjælp af beskeden. 

$ git commit -am "new project"

 

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

 

Du kan omdøbe din nuværende commit-besked ved at bruge "–ændre"-flaget og skrive den nye besked. Dette vil hjælpe dig med utilsigtede beskeder.

$ 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 yderligere ændringer til den aktuelle commit, før du skubber den til fjernlageret. For at gøre det skal du tilføje filændringerne og derefter forpligte dig ved at bruge flaget `–ændre`. For at beholde den forrige commit-meddelelse skal du blot bruge flaget `–no-edit`.

$ 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 skubbe en lokal commit og tilsidesætte fjernhistorikken uden at skulle løse problemer, kan du bruge `–force`-flaget. Det er dog vigtigt at bemærke, at det ikke anbefales at bruge kraftflaget og kun bør bruges, når du er helt sikker på, hvad du laver. Husk, at brug af kraftflaget vil omskrive fjernhistorikken.

$ 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 at fortryde en commit i Git, kan du bruge 'revert'-kommandoen. Denne kommando fjerner dog ikke nogen commits. I stedet opretter den en ny commit, der fortryder ændringerne foretaget af den oprindelige commit.

Vi vil bruge "log" med "–oneline" flag for at se commit historie i en kortere form. 

$ git log --oneline

 

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

 

For at vende tilbage til en tidligere commit bruger vi 'git revert' kommandoen efterfulgt af commit ID. Dette opretter en ny commit med ændringerne fra den tidligere commit.

$ git revert 8f184d5

Vil du øge din produktivitet på GitHub? Med GitHub Code Spaces kan du nu redigere og køre din kode direkte i din browser. 

For at få adgang til denne funktion skal du blot navigere til dit yndlingslager, trykke på punktum-tasten (“.”) på dit tastatur, og det vil omdirigere dig til VSCode UI.

 

10 avancerede git-teknikker
Billede fra forfatter
 

Du kan foretage ændringer i koden og skubbe dem til dit fjernlager. Men hvis du vil køre koden i terminalen, skal du køre Codespace i skyen. Den gratis version tilbyder en fremragende mulighed for at køre din Python-kode i din browser. Er det ikke fantastisk? Jeg har lige fundet ud af det i dag.

 

10 avancerede git-teknikker
Billede fra forfatter

Når du arbejder på et projekt, kan du tilføje filer til et iscenesættelsesområde og derefter forpligte dem til at gemme dine nuværende fremskridt. Der er dog en anden måde at gemme dit arbejde nemt ved at bruge 'stash'-kommandoen. Når du bruger 'stash', gemmer du dine nuværende fremskridt uden at tilføje det til iscenesættelsesområdet eller begå det. Dette giver dig mulighed for at gemme dine fremskridt og gendanne dem, når du har brug for det.

Vi gemmer vores nuværende fremskridt ved at give et navn og gemme det. 

$ git stash save new-idea

 

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

 

Du kan se din gemmeliste og notere det tilsvarende indeks for at hente det.

$ git stash list

 

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

 

Vores gemmer af "nye ideer" er gemt i indeks 0. For at hente det, brug denne kommando:

$ git stash apply 0

 

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

Du har mulighed for at omdøbe dit standard filialnavn til noget mere passende. I dette tilfælde vil vi omdøbe "master" til "main". 

$ git branch -M main

 

10 avancerede git-teknikker
 

Du kan bekræfte ændringerne ved at bruge følgende kommando: 

$ git status

 

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

Hvis du vil se en detaljeret historik over alle de commits, der er foretaget i det aktuelle lager, kan du bruge kommandoen `git log`. Outputtet kan dog være svært at læse. For at gøre det mere læsbart kan du bruge flagene `graf`, `dekorer` og `oneline`. Dette vil vise de ændringer, der er foretaget i flere grene, og hvordan de flettes.

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

 

10 avancerede git-teknikker

Ved flere lejligheder har jeg skiftet til en ny afdeling og glemt navnet på den tidligere afdeling. Derfor var jeg nødt til at bruge kommandoen `git branch -a` for at se listen over filialnavne. Der er dog en enklere måde at vende tilbage til den oprindelige filial ved at bruge bindestreg "-" efter kommandoen `git checkout`.

Vi vil først oprette den nye Git-gren "neo".

$ git branch neo

 

Vi skifter til "neo"-grenen.

$ git checkout neo

 

Switched to branch 'neo'

 

For at gå tilbage til den oprindelige gren bruger vi følgende kommando:

$ git checkout -

 

Switched to branch 'main'

Vi har lært om tilsidesættelse af fjernlageret. Lad os lære, hvordan man tilsidesætter det lokale lager ved hjælp af fjernlageret.

Vi vil bruge 'hent'-kommandoen til at hente de seneste ændringer fra fjernlageret. 

$ git fetch origin

 

Derefter vil vi bruge 'reset'-kommandoen med 'hard'-flaget til at tilsidesætte eventuelle lokale ændringer med fjernversionen. Bemærk venligst, at dette permanent vil kassere eventuelle lokale ændringer.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

Hvis der stadig er usporede filer, kan de fjernes ved hjælp af følgende kommando:

$ git clean -df

Jeg blev inspireret til at skrive denne artikel efter at have set en YouTube video ved Ildskib. Jeg beundrer skaberen for hans evne til at forklare komplekse emner på en enkel måde. Ved at følge hans metode har jeg lært meget om Git-funktioner.

I denne artikel har vi dækket avancerede Git-teknikker, der er afgørende for datavidenskabsmænd og softwareingeniører, der arbejder på et samarbejdsdataprojekt. At kende disse teknikker kan hjælpe dig med at undgå ulykker og løse problemer meget hurtigere.

Jeg håber, du fandt denne blog nyttig. Fortæl mig venligst, hvis du gerne vil læse flere indlæg med information i bytestørrelse om almindeligt anvendte værktøjer i datavidenskabsverdenen.
 
 

Abid Ali Awan (@1abidaliawan) er en certificeret dataforsker, der elsker at bygge maskinlæringsmodeller. I øjeblikket fokuserer han på indholdsskabelse og skriver tekniske blogs om maskinlæring og datavidenskabsteknologier. Abid har en kandidatgrad i teknologiledelse og en bachelorgrad i telekommunikationsingeniør. Hans vision er at bygge et AI-produkt ved hjælp af et grafisk neuralt netværk til studerende, der kæmper med psykisk sygdom.

Tidsstempel:

Mere fra KDnuggets