5 Git-kommandoer, du bør kende, med kodeeksempler

Jeg har brugt Git i nogle år nu, og jeg finder stadig mig selv i at google, hvordan man laver nogle grundlæggende opgaver. Så denne artikel er mit forsøg på at lære at gøre nogle af disse ting ved at skrive om dem. Og selvom jeg stadig glemmer, har jeg i det mindste en reference, hvor jeg nemt kan finde disse kommandoer - og det gør du også.

Inden vi går videre for at lære disse ting, har noget en kollega af mig engang sagde fast ved mig. Han fortalte mig, at alt er muligt med Git, og at intet går tabt i Git.

Jeg ved ikke, om den tidligere del af hans erklæring er helt sand, men jeg holder det i tankerne, hver gang jeg prøver at gøre noget med Git. Jeg tror, ​​at jeg finder en kommando, der hjælper mig med at gøre, hvad jeg har brug for. Jeg skal bare google med de rigtige ord. Hvis du er ny hos Git, vil jeg også have dig til at tro det.

I denne artikel lærer vi, hvordan du gør følgende:

  1. Tilføj fjernopbevaringssteder
  2. Skift fjernopbevaringssteder
  3. Slet en gren
  4. Flet en fil fra en gren til en anden
  5. Fortryd en forpligtelse lokalt og eksternt

Selvom denne artikel er beregnet til folk med en grundlæggende viden om Git, vil jeg gøre mit bedste for at forklare vilkår så meget som muligt.

1. Tilføj fjernopbevaringssteder

Fjernopbevaringssteder er versioner af dine projekter, der er gemt på internettet eller andre steder. Tilføjelse af et eksternt lager er en måde at fortælle Git, hvor din kode er gemt.

Vi kan gøre dette ved hjælp af URL'en til arkivet. Dette kan være URL'en til dit arkiv, en anden brugers fork eller endda en helt anden server.

Når du kloner et lager, tilføjer Git implicit dette lager som originfjernbetjeningen for dig. For at tilføje et nyt Git-arkiv bruger du denne kommando:

git remote add  

hvor shortnameer et unikt fjernnavn og urler url for det lager, du vil tilføje.

For eksempel, hvis jeg vil tilføje et lager med kortnavnet upstream, kan jeg gøre dette:

git remote add upstream //github.com/sarahchima/personal-website.git

Husk at din shortnamekan være hvad som helst, det skal bare være unik, det er forskelligt fra hvad navnene på de eksterne arkiver du allerede har. Det skal også være noget, du nemt kan huske for din fornuft.

For at se listen over fjernadresser, du har tilføjet, skal du køre følgende kommando:

git remote -v

Du får vist en liste over fjernnavne og de webadresser, du har tilføjet.

Men hvad hvis du vil ændre disse eksterne URL'er? Lad os gå til den næste Git-kommando.

2. Skift fjernopbevaringssteder

Der er flere grunde til, at du måske vil ændre en ekstern URL. For eksempel var jeg for nylig nødt til at gå fra at bruge httpsURL'er til SSHURL'er til et projekt, jeg arbejdede på.

For at gøre dette skal du bruge følgende kommando:

git remote set-url  

For at denne kommando skal fungere, skal fjernnavnet være et eksisterende fjernnavn. Det betyder, at det ikke fungerer, hvis du ikke tidligere har tilføjet det fjernbetegnelse.

Ved hjælp af eksemplet ovenfor vil jeg gøre dette, hvis jeg vil ændre den eksterne URL:

git remote set-url upstream [email protected]:sarahchima/personal-website.git

Husk at køre for git remote -vat kontrollere, at din ændring fungerede.

Nok om fjernopbevaringssteder. Lad os gå videre til noget andet.

3. Slet en filial både lokalt og eksternt

En filial er en version af arkivet, der adskiller sig fra hovedarbejdsprojektet. Det kan være en god idé at læse om Git-grene, og hvordan du tilføjer en gren, hvis du ikke er bekendt med den proces.

Sådan slettes en lokal filial

For at slette en gren lokalt skal du sørge for at du ikke er i den gren, du vil slette. Så du skal tjekke til en anden gren og bruge følgende kommando:

git branch -d 

Så hvis jeg vil slette en gren med navnet fix/homepage-changes, gør jeg følgende:

git branch -d fix/homepage-changes

Du kan køre git branchpå din terminal for at bekræfte, at filialen er blevet fjernet.

Nogle gange er du muligvis nødt til at slette en gren, som du allerede har skubbet til et eksternt lager. Hvordan kan du gøre dette?

Sådan slettes en ekstern gren

For at slette en gren eksternt bruger du følgende kommando:

git push  --delete 

hvor remote-nameer navnet på det eksterne lager, du vil slette grenen fra.

Hvis jeg vil slette grenen fix/homepage-changesfra origin, gør jeg dette:

git push origin --delete fix/homepage-changes

Filialen slettes eksternt nu.

4. Flet en fil fra en gren til en anden

Nogle gange vil du måske flette indholdet af en bestemt fil i en gren til en anden. For eksempel vil du flette indholdet af en fil index.htmli mastergrenen af ​​et projekt til developmentgrenen. Hvordan kan du gøre det?

Først skal du tjekke til højre gren (den gren, du vil flette filen), hvis du ikke allerede har gjort det. I vores tilfælde er det developmentfilialen.

git checkout development

Flet derefter filen ved hjælp af kommandoen checkout --patch.

git checkout --patch master index.html

Hvis du vil overskrive index.htmlfilen fuldstændigt på developmentgrenen med filen på mastergrenen, udelader du --patchflaget.

git checkout master index.html

Lad også --patchflag udelades, hvis index.htmlfilen ikke findes på developmentgrenen.

5. Fortryd en forpligtelse

Der er tidspunkter, hvor du har begået dine ændringer forkert, og du vil fortryde denne forpligtelse. Nogle gange har du måske endda skubbet ændringerne til en fjern gren. Hvordan fortryder eller sletter du denne forpligtelse? Lad os starte med at fortryde en lokal forpligtelse.

Sådan fortrydes en lokal forpligtelse

En måde, du kan fortryde en forpligtelse lokalt på er ved hjælp af git reset. Hvis du f.eks. Vil fortryde den sidste forpligtelse, kan du køre denne kommando:

git reset --soft HEAD~1

Den --softflag bevarer de ændringer, du har foretaget på de filer, du har begået, er det kun begå er vendt tilbage. Men hvis du ikke vil beholde de ændringer, der er foretaget i filerne, kan du i --hardstedet bruge flaget sådan:

git reset --hard HEAD~1

Bemærk, at du kun skal bruge --hardflag, når du er sikker på, at du ikke har brug for ændringerne.

Bemærk også, at HEAD~1peger på den sidste forpligtelse. Hvis du vil fortryde en forpligtelse inden det, kan du bruge git reflogtil at få en log over alle tidligere forpligtelser. Brug derefter git resetkommandoen med commit hash (det nummer, du får i begyndelsen af ​​hver historie). For eksempel, hvis min kommission hash er 9157b6910, gør jeg det

git reset --soft 9157b6910 

Sådan fortrydes en fjernforpligtelse

Der er tidspunkter, hvor du vil fortryde en forpligtelse, du har skubbet til et eksternt lager. Du kan bruge git reverttil at fortryde det lokalt og skubbe denne ændring til den eksterne gren.

Få først commit-hash ved hjælp af git reflog.

git reflog

Derefter vende det tilbage. Hvis jeg antager, at min commit hash er 9157b6910, gør jeg følgende:

git revert 9157b6910 

Til sidst skal du skubbe denne ændring til den eksterne gren.

Resumé

I denne artikel diskuterede vi kommandoer til at gøre følgende i Git:

  1. Tilføj fjernopbevaringssteder
  2. Skift fjernopbevaringssteder
  3. Slet en gren
  4. Flet en fil fra en gren til en anden
  5. Fortryd en forpligtelse lokalt og eksternt

Måske en dag skriver jeg om flere ting, du kan gøre med Git.

Jeg håber du nød artiklen. Tak for læsningen.

Vil du blive underrettet, når jeg offentliggør en ny artikel? Klik her.