Saistību izmantošana pakalpojumā Git

Satura rādītājs
Izmaiņas Git Tie nav tādi paši kā citās pārvaldības un versiju kontroles sistēmās, jo, saglabājot tikai to, kas patiešām ir mainījies, tas samazina kontrolei ģenerēto failu lielumu un nodrošina lielāku veiklību.
Aspekts, kas to visu kontrolē, ir rādītājs kam ir pienākums zināt, kurš, kas un kad no visām veiktajām izmaiņām, tāpēc pēc dažādu aspektu pievienošanas mūsu rādītājs no filiāle zvans tiek veikts apņemties.
Kas ir apņemšanās?In Git Mēs zinām, ka, lai pievienotu izmaiņas, mums ir jāveic a apņemties no tā paša, kad tas ir pievienots repozitoriju indeksam. Tomēr, kas ir a apņemties tieši tā? Šis jautājums ne vienmēr tiek uzdots sev, kopš mēs to darām Git rokturi tas ir diezgan skaidrs, bet a apņemties tas ir veids Git reģistrē repozitorija indeksa pašreizējo stāvokli un saglabā to attiecīgajā objektā, tādā veidā katrs apņemties tas ir atvasināts no iepriekšējā, un tādējādi struktūru, kurā netiek veiktas izmaiņas, var izmantot atkārtoti.
Resursu pārvaldība, kas to padara tik ātru, ir saistīta ar salīdzinājumiem SHA1 Tāpēc, ja indeksa elementiem ir vienāda jaukšana, tie neturpina iedziļināties savās izmaiņās, jo tie ir identiski un tādējādi tiek ņemti tikai tie faili, kas patiešām ir mainījušies.
Veids, kādā apņemas ļauj mums izveidot hierarhiskas struktūras, kas dod pārliecību par visu reģistrēto izmaiņu izcelsmes iegūšanu, tādēļ, ja mēs ievērojam paraugpraksi Git Mēs nekad nepazudīsim, pateicoties unikālajiem identifikatoriem, mēs varam arī būt pārliecināti, ka, ja kāda funkcionalitāte ir radījusi problēmu, to var atrast tieši tajā vietā, kur tā tika iekļauta.
Mēs komentējām, kā apņemas ievietot hash SHA1 ar kuriem tos var identificēt, izrādās, ka šī jaukšana padara tos arī unikālus un neatkārtojamus, tas ir, ja mums ir apņemties un citā krātuvē tiek atrasta tā pati jaukšana, lai mēs varētu zināt, ka tā ir viena un tā pati apņemties.
Šī iemesla dēļ apņemties tiek arī apsvērta atomu, tas ir, kā viena vienība neatkarīgi, kas saglabā daudzu direktoriju vai failu stāvokli, ar to mēs varam atsaukties uz apņemties kā vienību mūsu krātuvē un tādējādi spētu katru no tiem uzskatīt par elementu, kas, lai arī ir saistīts ar iepriekšējo, ir unikāls.
Lai gan hash SHA1 kalpo kā unikāls identifikators apņemties, tā struktūra 40 burtciparu rakstzīmes var būt problēma, kad vēlamies sazināties ar citu izstrādātāju un to izskaidrot apņemties Mēs runājam.
Radinieku nosaukumiLai atrisinātu šo problēmu, mēs varam izveidot radinieku vārdi un vieglāk atcerēties apņemasTie neaizstāj hash, bet drīzāk tie darbojas kā sava veida etiķete, kas ļauj mums tos identificēt cilvēcīgākā veidā.
Lai runātu par pēdējo apņemties no filiāle mēs varam vienkārši atsaukties GALVA, jo tas vienmēr attiecas uz jaunāko un jaunāko apņemtiesTomēr, tā kā mēs ne vienmēr to prasīsim, pietiek ar to, ka mēs izmantojam pirmās rakstzīmes hash, lai gan tas ne vienmēr būs unikāls, tāpēc, pievienojot vairāk rakstzīmju, mēs sasniegsim atbilstošo unikalitāti.
Apskatīsim komandu, kas mums jāizmanto, lai sasniegtu pēdējo:
git log -1 -diezgan = online identifikatora apņemšanās

Tagad nākamajā attēlā redzēsim, kā mēs identificējam a apņemties mūsu testa krātuvē, tāpēc mēs sākotnēji atradīsim, kas ir SHA1 no GALVA un tad mēs to sauksim pēc pirmajām rakstzīmēm, redzēsim:

Iepriekšējā piemērā mēs esam atklājuši rīku Git kas var būt ļoti noderīgi un ir žurnāla komanda, tas ir ļoti spēcīgi, jo tas ļauj mums atrast atšķirīgo apņemties ātrā un precīzā veidā, tomēr tai ir daudz parametru un konfigurāciju, kuras var būt grūti iegaumēt pirmajā instancē, tomēr, lai to izmantotu, mums tās visas nav jāapgūst, mēs varam pamazām iet, kamēr pieradīsim pie tā izmantot.
Ja mēs vēlamies redzēt saistību vēsturi, rīkojieties šādi:
git log branchname

Ar to mēs iegūsim detalizēta vēstures informācija no mūsu filiāle un viņu apņemasApskatīsim, kā tas izskatās mūsu konsolē mūsu pieejamo testu krātuvē:

Pēc tam mēs pamanām, kā apņemas ir sakārtoti no jaunākā līdz vecākajam, tas ļauj nedaudz redzēt vēsturisko izmaiņu līniju filiāle izvēlēts vēsturiskā žurnāla apskatei.
Tā kā darbs pie konsoles dažreiz ir nedaudz smags, lai gan tas ir ļoti nepieciešams, Git piedāvā mums rīku, kas ļauj pārskatīt vēsturi apņemas grafiski un ir gitk nav apakškomanda Git piemēram, žurnāls, ko mēs jau redzējām, taču tā ir neatkarīga komanda un ļauj mums piekļūt sīkākām nodaļas un tās vēstures detaļām.
Lai to izmantotu, mums vienkārši jāizpilda šāda komanda:
gitk nameBranch

Apskatīsim, kā tā izpilde izskatās konsolē:

Lai gan var šķist, ka nekas nav noticis, drīzumā mēs saņemsim logu ar grafiku, kas pieprasīts filiāle norādīts, kā mēs varam redzēt šajā ekrānuzņēmumā:

PALIELINĀT

Mēs varam pamanīt, ka mums ir daudz lielāka detaļa, papildus tās vizualizācijas uzlabojumiem.
Atsauces Y Symrefs piederēt atsauces Y simboliskas atsauces attiecīgi pirmais atbilst identifikatoram SHA1 no objekta mūsu krātuves objekta rāmī, no otras puses, otrais netieši atbilst objektam, neskatoties uz tā nosaukumu, tā ir arī atsauce.
Šī atsauču struktūra ir ļoti svarīgi zināt, jo tā ļaus mums saprast mūsu direktorija organizāciju apņemas Y filiāles iekšpusē Git, kas tiek saglabāti direktorijā .git / ref.
Simboliskas atsauces izveideJa mēs vēlamies skaidri izveidot a simboliska atsauce vienkārši izmantojiet komandu git simbolisks-atsauce, un, lai gan ir iespējams izmantot tādus nosaukumus kā GALVA šīm atsaucēm nav ieteicams, jo galu galā tās var radīt neskaidrības, kas var kaitēt mūsu krātuvei.
Visbeidzot, redzēsim, kā izskatās šīs komandas izpilde, kad to lietojam mūsu testa krātuvē:

Vēl viens interesants aspekts apņemas, ar ko mēs varam strādāt radinieku vārdiTas padara saistību diapazonu atrašanu ļoti vienkāršu, piemēram, ja mēs vēlamies atrast to, kas pastāv starp noteiktā perioda pārskatiem, mēs to varam izdarīt.
Lai to panāktu, mums jāizmanto tikai filiāles nosaukums un simbols ^ un pārskatīšanas numuru. Piemēram meistars ^ kur mēs atsaucamies uz priekšpēdējām izmaiņām, kas veiktas filiāle meistars.
Krātuves vēstureTādā veidā mēs varēsim pārvietoties pa visu mūsu krātuves vēsturi, kas dod mums iespēju piekļūt salīdzinājumā ar apņemas kas ļāva mums iegūt pašreizējo, ja ievērojam struktūru meistars 2 aizvedīs mūs pie otrā tēva apņemties, tas ir, tas, kurš ir devis dzīvi paralēli, arī ar ~ mēs varam piekļūt mūsu pašreizējās apņemšanās tēva tēvam, tas ir, vectēvam, lai to kaut kādā veidā ierakstītu ģenealoģijā.
Piemērs var būt meistars 2 ~ 3 Lai atsauktos uz vēsturiskajām izmaiņām mūsu krātuvē, ja mēs vēlamies iegūt relatīvās saistības nosaukumu, mums vienkārši jāizmanto šāda komanda:
git rev-parse RelativeName

Tas atgriezīs SHA1 no apņemties pie kuras nonācām. Tālāk redzamajā attēlā redzēsim, kā mēs varam iegūt pašreizējās saistības nosaukumu no meistara un ar meistars ~ tā paša pirmā vecāka vārds, kurš būtu apņemties no kā mēs sākam:

Tad mēs pamanījām, kā mums izdevās iegūt divus SHA1 atšķirīgi un derīgi mūsu krātuvē, tikai izmantojot radinieku vārdi.
Ar to mēs pabeidzam šo apmācību, mēs esam ieviesuši jaunus jēdzienus par to, kas apņemas iekšpusē GitTas dod mums iespēju labāk izprast mūsu repozitoriju struktūras, tādējādi organizācija šķitīs loģiskāka un tādējādi mēs varēsim būt daudz efektīvāki, pārvaldot izmaiņas savā kodā. Veids, kā Git atšķirību pārvaldība padara to tik īpašu, un tāpēc tā ir kļuvusi par vienu no vadošajiem mūsdienu tehnoloģiju versiju pārvaldniekiem.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu
wave wave wave wave wave