Ano ang Pagkakaiba sa pagitan ng HEAD, Working Tree, at Index sa Git?

Ano Ang Pagkakaiba Sa Pagitan Ng Head Working Tree At Index Sa Git



Ang Git ay isang distributed version control system na sumusubaybay sa pagkakaiba sa pagitan ng working directory at ng lokal na Git repository, katulad din sa pagitan ng Git local at remote repository. Habang nagtatrabaho sa Git, ang mga developer ay nakikitungo sa isang malaking bilang ng mga file. Sa una, nagtatrabaho sila sa gumaganang direktoryo pagkatapos ay inilipat nila ang kanilang mga file mula sa gumaganang direktoryo patungo sa Git index. Pagkatapos nito, gumawa sila ng mga pagbabago upang i-save ang data sa lokal na imbakan. Kaya, gumagalaw ang HEAD sa bawat bagong commit.

Iibahin ng post na ito ang HEAD, working tree, at index sa Git.

Ano ang Pagkakaiba sa pagitan ng Working Tree, HEAD, at Index sa Git?

ULO ” ay isang natatanging reference na tumuturo sa branch o commit kung saan kasalukuyang nagtatrabaho ang mga user. Ang ' Nagtatrabahong puno ” ay ang kasalukuyang lugar ng pagtatrabaho kung saan nagtatrabaho ang mga gumagamit na nagtataglay ng lahat ng mga hindi pa nabagong pagbabago. Samantalang ' Index ” ay ang staging area sa pagitan ng gumaganang direktoryo at ng lokal na imbakan na naglalaman ng mga pagbabagong kailangang gawin.







Paano Maghanap ng HEAD Pointer sa Git?

Upang makita ang kasalukuyang posisyon ng HEAD, gamitin ang ' git log 'utos kasama ang' -isang linya ” opsyon:



$ git log --online

Ang output sa ibaba ay nagpapahiwatig na ang HEAD ay tumuturo sa ' master 'sangay at' d3fd3b ” mangako:







Paano Makakahanap ng Working Tree sa Git?

Kung gusto ng mga developer na tingnan ang listahan ng lahat ng hindi sinusubaybayang pagbabago mula sa working tree, kinakailangan na isagawa ang ' git ls-tree HEAD ” utos:

$ git ls-puno ULO

Ayon sa nakasaad sa ibaba na output:



  • Ang unang hanay ay kumakatawan sa mga pahintulot ng mga file (read-write).
  • Ang pangalawang hanay ay nagpapakita ng ' patak ”, na isang uri ng object na kumakatawan sa isang malaking binary object na ginagamit upang iimbak ang mga nilalaman ng bawat file sa isang repository.
  • Hawak ng ikatlong column ang commit id ng kasalukuyang gumaganang repository commit.
  • Ang ikaapat na hanay ay naglalaman ng listahan ng mga pamagat ng mga file.

Paano Maghanap ng Index sa Git?

Upang mahanap ang index sa Git, patakbuhin ang ' git ls-files ” utos:

$ git ls-files -s

Sa ibabang output:

  • -s Ang ” flag ay ginagamit para sa mga naka-stage na file.
  • Ang Column 1 ay nagpapahiwatig ng file na chmod o mga pahintulot.
  • Ang Column 2 ay naglalaman ng SHA-hash ng kasalukuyang gumaganang repository na commit.
  • Katulad nito, ang column 3 ay kumakatawan sa index ng lahat ng mga file na ' 0 ”.
  • Ipinapakita ng huling column ang listahan ng mga pamagat ng available na file.

Naiiba namin ang HEAD, working tree, at Index sa Git.

Konklusyon

Ang HEAD ay isang pointer na tumutukoy sa sangay o commit na huling na-check out ng user. Ang gumaganang puno ay isang kasalukuyang lugar kung saan nagtatrabaho at nagpapanatili ng mga file ang user. Gayunpaman, ang Index ay isang Git staging area kung saan ang mga user ay gumagawa ng mga bagong pagbabago. Ipinakita ng post na ito ang pagkakaiba sa pagitan ng HEAD, working tree, at Index.