Hvad er forskellen mellem HEAD, Working Tree og Index i Git?

Hvad Er Forskellen Mellem Head Working Tree Og Index I Git



Git er et distribueret versionskontrolsystem, der sporer forskellen mellem arbejdsbiblioteket og det lokale Git-lager, på samme måde mellem Gits lokale og eksterne depoter. Mens de arbejder på Git, håndterer udviklere et stort antal filer. Til at begynde med arbejder de på arbejdsmappen, og derefter flytter de deres filer fra arbejdsmappen til Git-indekset. Derefter begår de ændringer for at gemme data til det lokale lager. Så HEAD bevæger sig med hver ny commit.

Dette indlæg vil differentiere HEAD, arbejdstræet og indekset i Git.

Hvad er forskellen mellem Working Tree, HEAD og Index i Git?

HOVED ” er en unik reference, der peger på den gren eller commits, som brugerne arbejder i i øjeblikket. Det ' Arbejdstræ ” er det aktuelle arbejdsområde, som brugerne arbejder på, som rummer alle de uiscenesatte ændringer. Hvorimod ' Indeks ” er iscenesættelsesområdet mellem arbejdsbiblioteket og det lokale lager, der indeholder de ændringer, der skal foretages.







Hvordan finder man HEAD Pointer i Git?

For at se den aktuelle position for HEAD skal du bruge ' git log kommandoen sammen med ' -oneline ' mulighed:



$ git log --online

Nedenstående output indikerer, at HOVEDET peger på ' mestre ' gren og ' d3fd3b ' begå:







Hvordan finder man et arbejdstræ i Git?

Hvis udviklere ønsker at se listen over alle usporede ændringer fra arbejdstræet, er det nødvendigt at udføre ' git ls-træ HOVED kommando:

$ git ls-træ HOVED

Ifølge nedenstående output:



  • Første kolonne repræsenterer tilladelserne for filer (læse-skrive).
  • Anden kolonne viser ' klat ”, som er en type objekt, der står for et stort binært objekt, der bruges til at gemme indholdet af hver fil i et depot.
  • Tredje kolonne indeholder commit-id'et for det aktuelle arbejdende repository-commits.
  • Fjerde kolonne indeholder listen over filernes titler.

Hvordan finder man indeks i Git?

For at finde indekset i Git skal du køre ' git ls-filer kommando:

$ git ls-filer -s

I nedenstående output:

  • -s ” flag bruges til de iscenesatte filer.
  • Kolonne 1 angiver filen chmod eller tilladelser.
  • Kolonne 2 indeholder SHA-hashen for de aktuelle, fungerende repository-commits.
  • På samme måde repræsenterer kolonne 3 indekset for alle filer, der er ' 0 ”.
  • Den sidste kolonne viser listen over tilgængelige filers titler.

Vi har skelnet mellem HEAD, working tree og Index i Git.

Konklusion

HEAD er en pointer, der bestemmer den filial eller commit, som brugeren sidst tjekkede ud. Et arbejdstræ er et aktuelt sted, hvor brugeren arbejder og opbevarer filer. Indekset er dog et Git iscenesættelsesområde, hvor brugere foretager nye ændringer. Dette indlæg demonstrerede forskellen mellem HEAD, working tree og Index.