Atšķirība starp apņemšanos un spiedienu

Ja esat viens no miljoniem izstrādātāju kopienas, tad, visticamāk, jūs jau esat dzirdējis par versiju vadības jēdzienu. Tas ir jaudīgs rīks vai sistēma, kas palīdz rūpēties par darbu, ļaujot ātri pārvietoties failiem, dokumentiem un citai ar projektu saistītai informācijai. Un šāda veida darbiem tirgū ir daudz instrumentu - gan patentētu, gan atvērtu. Git ir viena no mūsdienu populārākajām un plaši izmantotajām versiju kontroles sistēmām pasaulē, un satriecošs skaits projektu paļaujas uz Git versiju kontrolei. Git ir bezmaksas un atvērtā koda izplatīta versiju kontroles sistēma, kas izstrādāta, lai izsekotu avota kodā programmatūras izstrādes laikā.

Git projektu attēlo datu struktūra, ko sauc par krātuvi, kurā tiek glabāta visa ar projektu saistītā informācija, ieskaitot visu projekta vēsturi kopš tā pirmsākumiem. Tas izseko visas laika gaitā failos veiktās izmaiņas, veidojot laika grafiku, turpinot darbu ar projektu. Repozitorijs savukārt sastāv no atsevišķu projekta satura momentuzņēmumu kopuma - failu un repozitoriju kolekcijas -, ko sauc par saistībām. Ja vēlaties dalīties ar sava projekta attīstību ar pasauli, jums tas jānovirza uz tālvadības pulti, kuram jums ir piekļuves tiesības rakstīšanai. Vietējās filiāles netiek automātiski sinhronizētas ar attālajām krātuvēm - jums skaidri jānorāda zari, kurus vēlaties kopīgot.

Kas ir saistības??

Git uzskata savus datus par vairāk kā momentuzņēmumu kopu, piemēram, mini failu sistēmu vai projekta, ko sauc par apņemšanos, versijas. Katru reizi, kad apņematies vai saglabājat sava projekta stāvokli jebkurā laikā, Git pamatā uzņem momentuzņēmumu par to, kā šobrīd izskatās jūsu faili, un saglabā atsauci uz šo momentuzņēmumu. Apņemšanās objekts satur metadatus par visām izmaiņām, kas veiktas repozitorijā, ieskaitot autoru, izpildītāju, saistīšanas datumu un žurnāla ziņojumu. Katra saistība norāda uz koka objektu, kas satur repozitorija stāvokli tajā brīdī, kad darbība tika veikta, visu vienā momentuzņēmumā. Veicot izmaiņas kodā, jūs izveidojat nedaudz saistību - atsevišķas saistības par visām izmaiņām. Git piešķir katrai personai unikālu ID, kas izseko, kādas, kad un kuras veiktas izmaiņas.

Kas ir Push?

Katram izstrādātājam ir savs privātais repozitorijs, lai izsekotu to izmaiņām. Jūs veicat izmaiņas lokāli un, kad esat gatavs dalīties ar tām ar citiem izstrādātājiem, jūs tās atvedat atpakaļ krātuvē, kuru jūs visi kopīgojat. Apņemšanās saglabā veiktās izmaiņas tikai vietējā repozitorijā, bet ne attālajā repozitorijā. Jūsu apņemšanās netiek automātiski sinhronizēta ar attālo repozitoriju - jums skaidri jāpiespiež tās saistības, kuras vēlaties koplietot. Kad izmantojat komandu push, izmaiņas tiek piemērotas augšējā krātuvē. Katram atvērtā koda projektam ir savs veids, kā pieņemt izmaiņas. Dažos projektos tiek izmantota pilnībā izplatīta versiju kontroles sistēma, kurā tikai viena persona var veikt izmaiņas galvenajā repozitorijā, savukārt pastāv koplietojama repozitorija modelis, kurā visi izstrādātāji var virzīties uz kopīgu repozitoriju.

Atšķirība starp Commit un Push

Pamati

- Stumšana nāk pēc apņemšanās. Git veikt ierakstus un izsekot krātuvē veiktās izmaiņas ar katru saistīšanas punktu norāda uz koka objektu, kas fiksē repozitorija stāvokli tajā brīdī, kad apņemšanās tika veikta, visu vienā momentuzņēmumā. Bet apņemšanās saglabā izmaiņas tikai vietējā repozitorijā, bet ne attālajā repozitorijā. Git push atjaunina jūsu veiktās izmaiņas un ļauj jums nosūtīt tās uz attālo krātuvi, kur visi izstrādātāji var tām piekļūt. Kad izmantojat komandu push, tā vienkārši atjaunina jūsu izmaiņas augšējā krātuvē.

Pavēle

- Git saistības ir vietējas nozīmes, tās tiek ierakstītas tikai mašīnā, uz kuras faktiski notiek saistības. Komanda “git saistības” tiek izmantota, lai Git pateiktu, ka izmaiņas tiek saglabātas vietējā repozitorijā, un jums ir īpaši jāinformē Git, kuras izmaiņas vēlaties iekļaut saistībās, pirms izmantojat komandu “git saistības”. Varat izmantot komandu “git push”, lai novirzītu saistības vietējā krātuvē uz attālu krātuvi. Komanda “push” atjaunina jaunas vietējās saistības attālajā serverī. Piespiešanai ir divi argumenti: attālais nosaukums (izcelsme) un filiāles nosaukums (galvenais).

Commit vs Push: salīdzināšanas tabula

Kopsavilkums par Commit vs Push

Īsumā - apņemšanās ir galvenā Gita pārmaiņu vienība. Atšķirībā no citiem centralizētiem versiju vadības modeļiem, Git savus datus vairāk uzskata par momentuzņēmumu kopu, ko sauc par saistībām. Tie ir kā visa repozitorija satura momentuzņēmums kopā ar visu informāciju, kas saistīta ar projektu un šī repozitorija stāvokļa saistību ar citiem ierakstītajiem stāvokļiem, jo ​​saturs laika gaitā ir mainījies. Apņemšanās objekts satur metadatus par visām izmaiņām, kas veiktas repozitorijā, ieskaitot autoru, izpildītāju, saistīšanas datumu un žurnāla ziņojumu. Bet apņemšanās saglabā izmaiņas tikai vietējā repozitorijā, bet ne attālajā repozitorijā. Git push atjaunina jūsu veiktās izmaiņas un ļauj jums nosūtīt tās uz attālo krātuvi, kur visi izstrādātāji var tām piekļūt.