Kokie yra skirtumai tarp „git įsipareigoti“ ir „git push“?

„Git“ pamokoje žiūriu, kad „ git commit naudojamas išsaugotiems pakeitimams išsaugoti.

Kas yra git push ?

770
30 апр. nustatė ben balandžio 30 d 2010-04-30 17:17 '10, 17:17, 2010-04-30 17:17
@ 15 atsakymų

Iš esmės, git commit "rašo pakeitimus", o git push "saugykla atnaujina ištrintas nuorodas kartu su susijusiais objektais." Taigi pirmasis naudojamas ryšiui su vietine saugykla, o pastaroji naudojama sąveikai su nuotoliniu saugykla.

Štai graži Oliver Steele nuotrauka, paaiškinanti git modelį ir komandas:

2019

1442
30 апр. atsakymą pateikė tanascius balandžio 30 d 2010-04-30 17:20 '10, 17:20, 2010-04-30 17:20

įsipareigojimas : įtraukite vietos saugyklos pakeitimus

border=0

stumti : perkelti paskutinį įsipareigojimą į nuotolinį serverį

169
30 апр. atsakymą pateikė TheHippo balandžio 30 d 2010-04-30 17:20 '10, 17:20, 2010-04-30 17:20

Na, iš esmės git įsipareigojimas jūsų pakeitimus nukreipia į vietos repo, o „git push“ siunčia pakeitimus į tolimą vietą.

52
30 апр. atsakymą pateikė Markovuksanovic 30 Bal 2010-04-30 17:21 '10, 17:21, 2010-04-30 17:21

git push naudojamas norint įtraukti nuotolinio saugykloje padarytus įsipareigojimus kartu su „ git pull , tai leidžia žmonėms bendradarbiauti.

25
30 апр. Atsakymas, kurį pateikė Michael Borgwardt Bal 30 2010-04-30 17:20 '10, 17:20, 2010-04-30 17:20

Kadangi „git“ yra paskirstytos versijos valdymo sistema, skirtumas yra tas, kad įsipareigojimas padarys pakeitimus jūsų vietinėje saugykloje, o stumdymas sukels nuotolinio repo pakeitimus.

23
30 апр. Atsakymą pateikė Justin Ethier balandžio 30 d 2010-04-30 17:20 '10, 17:20, 2010-04-30 17:20

git commit rašykite pakeitimus į vietos saugyklą.

git push atnaujinkite saugyklą, ištrintą su vietiniais pakeitimais.

12
11 авг. Atsakymas pateikiamas Naresh 11 rugpjūčio mėn. 2013-08-11 09:20 '13, 9:20, 2013-08-11 09:20

„Išsaugoti kaip“ saugyklose. „Git“ saugykla = įvykių serija (medis) ir keletas papildomų dalykų.

Vietinė saugykla: saugykla kompiuteryje.

Nuotolinis saugykla: saugykla serveryje (pvz., „Github.com“).

git commit : įtraukite naują įrašą (paskutinis įsipareigojimas + faziniai pakeitimai) į vietos saugyklą.

git push , „ git pull : sinchronizuokite vietinę saugyklą su su ja susijusia nuotoline saugykla. push - pritaikyti pakeitimus iš vietinio į nuotolinį , pull - pritaikyti pakeitimus iš nuotolinio į vietos .

10
04 авг. atsakymas pateikiamas xged 04 rug . 2016-08-04 18:59 '16 at 18:59 pm 2016-08-04 18:59

Trys dalykai, kuriuos reikia pažymėti:

1) Darbo katalogas ----- aplankas, kuriame yra mūsų kodų failas

2) Vietinė saugykla ------ Tai yra mūsų sistemos viduje. Kai pirmą kartą sukuriame komandą COMMIT, sukuriama ši vietinė saugykla. kur mūsų darbo katalogas yra,
Bus sukurtas „Checkit“ (.git) failas.
Po to, kai mes įsipareigojame, jis išsaugo pakeitimus, kuriuos atliekame darbo katalogo faile vietinėje saugykloje (.git).

3) Nuotolinis saugykla ----- Jis yra ne mūsų sistemoje, taip pat serveryje, esančiame bet kurioje pasaulio vietoje. kaip github. Kai vykdome PUSH komandą, mūsų vietinės saugyklos kodai yra saugomi šioje nuotolinėje saugykloje.

4
16 мая '18 в 19:08 2018-05-16 19:08 Atsakymą pateikia DEVINDER THAKUR gegužės 16 d., 18 val

Tiesiog norite pridėti šiuos elementus:

„Yon“ negali stumti tol, kol nepadėsite, nes mes naudojame „ git push , kad stumtume jūsų vietiniame skyriuje padarytus įsipareigojimus į nuotolinę saugyklą.

git push komanda du argumentus:

Nuotolinis pavadinimas, pvz., origin , šakos pavadinimas, pvz., master

Pavyzdžiui:

git push <REMOTENAME> <BRANCHNAME>

4
27 нояб. Atsakymą pateikė Faisal Shaikh . 2016-11-27 22:52 '16 at 10:52 pm 2016-11-27 22:52

Labai neapdorota analogija: jei lyginame „ git commit išsaugoti redaguotą failą, tada „ git push “ nukopijuos šį failą į kitą vietą.

Nepamirškite šios analogijos iš šio konteksto - nustatymas ir spaudimas yra ne tik įrašyto failo išsaugojimas ir kopijavimas. Tačiau tai turėtų būti tik palyginimui.

2
04 авг. atsakymas pateiktas 04 rug . 2016-08-04 21:34 '16 at 9:34 pm 2016-08-04 21:34

Jei suprantate, kad žurnalo failas yra saugomas jūsų „Github“ saugykloje, lengviau suprasti „git“ add ir add komandų naudojimą. Tipinis projekto žurnalo failas man gali atrodyti taip:

 ---------------- Day 1 -------------------- Message: Completed Task A Index of files changed: File1, File2 Message: Completed Task B Index of files changed: File2, File3 ------------------------------------------- ---------------- Day 2 -------------------- Message: Corrected typos Index of files changed: File3, File1 ------------------------------------------- ... ... ...and so on 

Paprastai pradėjau savo dieną su git pull užklausa ir git pushgit push prašymu. Taigi viskas kasdieniame įraše atitinka tai, kas vyksta tarp jų. Kiekvienos dienos metu atlieku vieną ar daugiau loginių užduočių, dėl kurių reikia keisti kelis failus. Šios užduoties metu redaguoti failai yra įtraukti į indeksą.

Kiekvienas iš šių užduočių (čia A ir B užduotis) yra atskiri įsipareigojimai. „ git add komanda prideda failus į sąrašą „ git add failų rodyklė“. Šis procesas taip pat vadinamas sustojimu, ir iš tikrųjų įrašomi modifikuoti failai ir padaryti pakeitimai. git commit komanda rašo / užpildo pakeitimus ir atitinkamą indeksų sąrašą kartu su pasirinktiniu pranešimu, kuris gali būti naudojamas tolesniam naudojimui.

Atminkite, kad vis dar keičiate tik vietinę saugyklos kopiją, o ne Github. Po to tik tada, kai git push , visi šie įrašyti pakeitimai, taip pat kiekvieno įvykio indekso failai įrašomi pagrindinėje saugykloje („Github“).

Pavyzdžiui, norint gauti antrą įrašą šiame įsivaizduojamame žurnalo faile, norėčiau:

 git pull # Make changes to File3 and File4 git add File3 File4 # Verify changes, run tests etc.. git commit -m 'Corrected typos' git push 

Trumpai tariant, git add ir git commit leidžia jums nutraukti pagrindinio saugyklos pakeitimus į sisteminius loginius pakeitimus. Kaip pažymėta kituose atsakymuose ir komentaruose, jie tikrai turi daug kitų naudojimo būdų. Tačiau tai yra vienas iš labiausiai paplitusių „Git“ naudojimo būdų, tai yra daugiapakopė versijos valdymo sistema, priešingai nei kitos populiarios sistemos, pvz., „Svn“.

0
15 янв. atsakymą pateikė Cibin Joseph 15 jan. 2018-01-15 09:13 '18, 9:13

laikraščio terminais, git commit yra žingsnis, leidžiantis git push , kurį vykdote, kad gitub failas būtų sėkmingas.

0
18 июня '17 в 0:38 2017-06-18 00:38 atsakymą pateikė Zeal Murapa , birželio 18 d., 17 val. 0:38 2017-06-18 00:38

git įsipareigojimas - tai tik oficialus mūsų pakeitimų išsaugojimas, kiekvienam įsipareigojimo pranešimui skiriamam įsipareigojimui, kai tik baigsime įsipareigojimą, galime perkelti jį į nuotolinį kompiuterį, kad pamatytume mūsų pakeitimus visame pasaulyje

tai reiškia, kad mes galime padaryti daug įsipareigojimų, prieš juos išsiųsdami į nuotolinį serverį (matome įvykdytų įvykių ir pranešimų sąrašą), git išsaugo kiekvieną įvykį su įsipareigojimo identifikatoriumi, kuris yra 40 skaitmenų kodas

ir naudoju „git push“ tik tada, kai norėjau matyti mano pakeitimus nuotoliniu būdu (po to, kai patikrinu, ar veikia mano „Jenkins“ kodas)

0
20 дек. Atsakymą pateikė Sai Koti 20 gruodis. 2017-12-20 10:49 '17 at 10:49 2017-12-20 10:49

git commit priskirti vietinėje repo esančius failus. pagreitintas persiuntimas perkeliant pagrindinės vietinės dalies ir pagrindinio atšakos sujungimą. Tačiau susijungimas ne visada bus sėkmingas. Jei atsiranda gedimas, turite pull , kad galėtumėte sėkmingai pull .

-3
12 авг. atsakymą pateikė Marcus Thornton 12 rug. 2014-08-12 11:56 '14 at 11:56 2014-08-12 11:56

Na, iš esmės git įsipareigojimas perkelia jūsų pakeitimus į vietinę repo, o „git push“ siunčia pakeitimus į tolimą vietą. Kadangi „git“ yra paskirstytos versijos valdymo sistema, skirtumas yra tas, kad įsipareigojimas padarys pakeitimus jūsų vietinėje saugykloje, o „push“ („push“) persijungs į nuotolinį repo

šaltinis google

http://gitref.org/basic/ ši nuoroda bus labai naudinga.

https://git-scm.com/docs/git-commit

-3
01 авг. atsakymas duotas oroyo segun 01 rug . 2016-08-01 14:51 '16 at 14:51 pm 2016-08-01 14:51

Kiti klausimai apie žymes arba Ask a Question