Er det trygt å grunt klone med -Dypte 1, opprette forpliktelser og trekke oppdateringer igjen?

Er det trygt å grunt klone med -Dypte 1, opprette forpliktelser og trekke oppdateringer igjen?

Mens de jobber med Git, kloner utviklere av eksterne lagre slik at de kan få tilgang til prosjektets filer og gjøre endringene deres. Mer spesifikt oppretter Cloning en lokal kopi av et eksternt depot på brukerens lokale system og lar dem jobbe med prosjektet lokalt. Etter det kan de presse sine lokale endringer tilbake til GitHub -depotet for andre teammedlemmer å få tilgang til.

Denne oppskrivningen vil forklare:

  • Er det trygt å grunt klon/kopiere git repo med "-dypth 1", gjøre forpliktelser og få/trekke oppdateringer igjen?
  • Hvordan grunne kloner/kopier git repo med “-Dypth 1”, gjør forpliktelser og få/trekke oppdateringer igjen?

Er det trygt å grunt klon/kopiere git repo med "-dypth 1", gjøre forpliktelser og få/trekke oppdateringer igjen?

Det er generelt trygt å grunt klone et depot med "-dybde 1”Alternativ, gjør forpliktelser og få/trekke oppdateringer. Imidlertid kan denne tilnærmingen føre til noen mindre problemer, for eksempel:

  • Grunt kloning av et depot med “-Dypth 1” bare kloner eller laster ned de siste forpliktelsene og ikke hele historien, slik at brukere ikke kan ha tilgang til hele depotet.
  • Brukere kan ikke gå tilbake til en eldre versjon av koden.
  • Mens de trekker oppdateringer igjen, vil brukerne bare kunne trekke endringene som er gjort til den siste forpliktelsen. Hvis det er endringer i tidligere forpliktelser som de trenger, vil de ikke kunne få dem.
  • Hvis utviklere oppretter forpliktelser og skyver dem til depotet, vil de være basert på den siste klonede forpliktelsen.

Totalt sett kan grunt kloning med -Dypte 1 være nyttig for raskt å få en kopi av depotet til å jobbe med, men det er kanskje ikke det beste alternativet hvis du trenger å få tilgang til hele historien til koden.

Hvordan gjør grunne kloner/kopier git repo med “-dybth 1”, gjør forpliktelser og får/trekk oppdateringer igjen?

For å grunt klone et bestemt Git -depot med dybde 1, opprette forpliktelser og trekke oppdateringer igjen, først, navigere til det lokale depotet. Klon deretter det eksterne depotet med dybde 1 ved bruk av “git klon -dybde 1 ”Kommando. Deretter, flytt til det klonede depotet, gjør endringer og forplikter dem. Etter det, utfør push- og pulloperasjoner.

Trinn 1: Bytt til lokalt depot

Først må du skrive ut følgende kommando og omdirigere til ønsket lokale depot:

$ CD "C: \ git \ local_repo

Trinn 2: KLONE Remote Repository

Deretter kloner eller kopierer det spesielle eksterne depotet ved å bruke "git klon”Kommando sammen med ønsket dybde og HTTP -URL i GitHub -depotet:

$ git klon -dybde 1 https: // github.com/laibayounas/demo.git

Her, "-dybde”Alternativ med et“1”Verdien får bare den siste forpliktelsen:

Trinn 3: Flytt til eksternt depot

Deretter bytter du til det klonede depotet gjennom “CD”Kommando:

$ CD -demo

Trinn 4: Sjekk referanselogg

Kontroller deretter referanseloggen for å se Commits -historien:

$ git reflog .

Det kan observeres at det eksterne depotet er klonet med bare den siste forpliktelsen:

Trinn 5: Opprett en ny fil

Lag nå en ny fil i det nåværende klonede depotet:

$ Touch Newfile.tekst

Trinn 6: Sporfil

Spore den nyopprettede filen ved hjelp av "git add”Kommando:

$ git Legg til Newfile.tekst

Trinn 7: Forplikt endringer

Etter det, utfør kommandoen under levert for å begå endringer:

$ git commit -m "newfile.txt lagt til "

Trinn 8: Sjekk begår historie

Kontroller deretter referanseloggen for å bekrefte endringene:

$ git reflog .

Det kan sees at den nye forpliktelsen er lagt til i forpliktelseshistorien:

Trinn 9: Skyv endringer til GitHub

Kjør kommandoen nedenfor for å skyve de nye endringene til GitHub-depotet:

$ git push

I følge det undervernede bildet har endringene blitt presset til det eksterne Git-depotet:

Trinn 10: Trekk eksterne endringer

Få nå eksterne oppdateringer til det klonede depotet ved å bruke følgende kommando:

$ git pull

Utgangen nedenfor viser at depotet allerede er oppdatert, noe som indikerer at det ikke er noen nye endringer i det eksterne depotet:

Anta at en annen bruker har gjort endringer i det eksterne depotet og at du vil utføre trekkoperasjonen, så får du bare de sist anvendte endringene:

$ git pull

Det kan vises i utdataene under levert, bare de sist lagt til endringene er lastet ned:

Trinn 11: Bekreft endringer

Til slutt, utfør kommandoen nedenfor for å sikre at bare nylig anvendte endringer trekkes inn i det lokalt klonede depotet:

$ git reflog .

Som du kan se, inneholder forpliktelseshistorien bare de siste endringene:

Det handlet om grunt kloning av et git -depot med dybde 1, opprette forpliktelser og trekke oppdateringer igjen.

Konklusjon

Det er generelt trygt å grunt klone et depot med "-dybde 1”Alternativ, opprette forpliktelser og trekke oppdateringer. Imidlertid kan denne tilnærmingen føre til problemer hvis depotets historie blir endret for å påvirke forpliktelsene brukere har gjort. I tillegg last ned de nyeste forpliktelsene og inkluderer i tillegg en depot med -Dypte 1. Dette betyr at brukere ikke har tilgang til depotets fulle kontekst. Denne oppskrivningen forklarte grunt kloning av et git-depot med dybde 1, opprette forpliktelser og trekke oppdateringer igjen.