Koje su razlike između "git commit" i "git push"?

U vodiču za Git koji gledam, git commit koristi za spremanje izmjena koje ste napravili.

Što je git push ?

770
30 апр. postavila Ben 30. travnja 2010-04-30 17:17 '10 u 17:17 2010-04-30 17:17
@ 15 odgovora

U osnovi, git commit "piše promjene u" dok git push "spremište ažurira izbrisane veze zajedno s pridruženim objektima." Dakle, prvi se koristi u vezi s vašim lokalnim spremištem, dok se drugi koristi za interakciju s udaljenim repozitorijem.

Ovdje je lijepa slika Olivera Steelea koja objašnjava git model i naredbe:

2019

1442
30 апр. odgovor je dao tanascius 30. travnja 2010-04-30 17:20 '10 u 17:20 2010-04-30 17:20

commit : dodavanje izmjena u lokalno spremište

border=0

push : prijenos zadnje pohrane na udaljeni poslužitelj

169
30 апр. odgovor je dao TheHippo 30. travnja 2010-04-30 17:20 '10 u 17:20 2010-04-30 17:20

Zapravo, git commit stavlja vaše promjene u lokalni repo, a git push šalje vaše promjene na udaljeno mjesto.

52
30 апр. odgovor od markovuksanovic 30 tra 2010-04-30 17:21 '10 u 17:21 2010-04-30 17:21

git push koristi za dodavanje urezivanja koje ste napravili u lokalnom spremištu na daljinsko - zajedno s git pull , što omogućuje ljudima suradnju.

25
30 апр. Odgovor dao Michael Borgwardt 30. travnja 2010-04-30 17:20 '10 u 17:20 2010-04-30 17:20

Budući da je git distribuirani sustav kontrole verzije, razlika je u tome što će urezivanje izvršiti promjene u vašem lokalnom spremištu, dok će push dovesti do promjena na udaljenom repo-u.

23
30 апр. Odgovor daje Justin Ethier 30. travnja 2010-04-30 17:20 '10 u 17:20 2010-04-30 17:20

git commit zapisuje promjene u lokalno spremište.

git push ažuriranje spremište izbrisano s vašim lokalnim promjenama.

12
11 авг. Odgovor je dat na Naresh 11 aug. 2013-08-11 09:20 '13 u 9:20 2013-08-11 09:20

'Spremi kao'} spremišta. Git repozitorij = serija (stablo) urezivanja (plus nekoliko dodatnih stvari).

Lokalno spremište: spremište na vašem računalu.

Udaljeno spremište: spremište na poslužitelju (na primjer, Github.com).

git commit : dodavanje nove objave (posljednje unošenje + fazne izmjene) u lokalno spremište.

git push , git pull : Sinkronizirajte lokalno spremište s udaljenim spremištem povezanim s njim. push - primijeniti promjene s lokalnog na daljinsko , pull - primijeniti promjene s udaljenog na lokalno .

10
04 авг. odgovor je dat xged 04 aug. 2016-08-04 18:59 '16 u 18:59 2016-08-04 18:59

Tri stvari koje treba imati na umu:

1) Radni direktorij ----- mapa u kojoj se nalazi naša kodna datoteka

2) Lokalno spremište ------ Ovo je unutar našeg sustava. Kada prvi put stvorimo naredbu COMMIT, kreira se ovo lokalno spremište. gdje je naš radni direktorij,
Napravit će se datoteka Checkit (.git).
Nakon toga, kada urezujemo, sprema promjene koje napravimo u datoteku Working Directory u lokalnom spremištu (.git).

3) Udaljeno spremište ----- Nalazi se izvan našeg sustava, kao i na poslužiteljima smještenim bilo gdje u svijetu. kao github. Kada izvršimo PUSH naredbu, kodovi iz našeg lokalnog spremišta pohranjuju se u ovom udaljenom spremištu.

4
16 мая '18 в 19:08 2018-05-16 19:08 Odgovor je dao DEVINDER THAKUR 16. svibnja '18 u 19:08 2018-05-16 19:08

Samo želim dodati sljedeće stavke:

Ne možete gurati sve dok ne urezujete, jer koristimo git push za guranje izvršenja izvršenih na vašoj lokalnoj grani u udaljeno spremište.

git push naredba ima dva argumenta:

Udaljeno ime, primjerice origin Naziv podružnice, na primjer master

Na primjer:

git push <REMOTENAME> <BRANCHNAME>

4
27 нояб. Odgovor daje Faisal Shaikh 27. studenog. 2016-11-27 22:52 '16 u 22:52 2016-11-27 22:52

Vrlo gruba analogija: ako usporedimo git commit s spremanjem uređene datoteke, git push će kopirati ovu datoteku na drugo mjesto.

Nemojte uzeti ovu analogiju iz ovog konteksta - popravljanje i pritiskanje nije ništa drugo nego spremanje uređene datoteke i njeno kopiranje. Međutim, to bi trebalo biti samo za usporedbu.

2
04 авг. odgovor je dan amn 04 aug. 2016-08-04 21:34 '16 u 21:34 2016-08-04 21:34

Lakše je razumjeti korištenje naredbi git add i commit ako zamislite da se datoteka dnevnika održava u vašem spremištu na Githubu. Tipična datoteka dnevnika projekta za mene može izgledati ovako:

 ---------------- 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 

Obično započinjem dan s zahtjevom za git pull i završim ga zahtjevom za git push . Dakle, sve u dnevnom zapisu odgovara onome što se događa između njih. Tijekom svakog dana izvodim jedan ili više logičkih zadataka koji zahtijevaju promjenu nekoliko datoteka. Datoteke uređene tijekom ovog zadatka navedene su u indeksu.

Svaki od ovih podzadataka (ovdje Zadatak A i Zadatak B) su zasebne obveze. Naredba git add dodaje datoteke na popis "Indeks izmijenjenih datoteka". Taj se proces također naziva staging i zapravo bilježi modificirane datoteke i izvršene promjene. Naredba git commit zapisuje / dovršava promjene i odgovarajući popis indeksa zajedno s prilagođenom porukom koja se može koristiti za daljnju upotrebu.

Zapamtite da i dalje mijenjate samo lokalnu kopiju spremišta, a ne onu na Githubu. Nakon toga, samo kada napravite git push , sve te zabilježene promjene, kao i indeksne datoteke za svaku predaju, su zabilježene u glavnom spremištu (na Githubu).

Kao primjer, da bih dobio drugi unos u ovoj imaginarnoj datoteci dnevnika, učinio bih:

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

Ukratko, git add i git commit omogućuju vam da prekinete promjene u glavnom spremištu u sustavne logičke zamjene. Kao što je zabilježeno u drugim odgovorima i komentarima, oni sigurno imaju mnogo drugih koristi. Međutim, ovo je jedna od najčešćih primjena Git-a, koji je višerazinski sustav kontrole verzija za razliku od drugih popularnih sustava, kao što je Svn.

0
15 янв. odgovor je dao Cibin Joseph 15 jan. 2018-01-15 09:13 '18 u 9:13

u laičkim uvjetima, git commit je korak do git push , koji pokrećete tim redom kako biste uspješno gitirali vašu github datoteku.

0
18 июня '17 в 0:38 2017-06-18 00:38 odgovor je dao Zeal Murapa 18. lipnja 2006. u 0:38 2017-06-18 00:38

git commit nije ništa više od službenog spremanja naših izmjena, za svaku predaju koju damo poruci urezivanja, čim završimo s urezivanjem, možemo je premjestiti na udaljeno računalo da bismo vidjeli globalne promjene

to znači da možemo napraviti mnogo prije nego što ih pošaljemo udaljenom poslužitelju (možemo vidjeti popis urezivanja i poruka koje su se dogodile), git sprema svaku predaju s identifikatorom urezivanja, koji je 40-znamenkasti kôd

i koristim git push samo kada sam htio vidjeti svoje promjene na daljinu (tamo nakon što sam provjerio radi li moj jenkinsov kod)

0
20 дек. Odgovor daje Sai Koti 20. prosinca. 2017-12-20 10:49 '17 u 10:49 2017-12-20 10:49

git commit je urezivanje datoteka lociranih u lokalnom repu. git push - ubrzano prosljeđivanje spajanja glavne grane lokalne strane s uklonjenom glavnom granom. Ali spajanje neće uvijek biti uspješno. Ako se neuspjeh pojavi, morate pull tako da možete napraviti uspješan git push .

-3
12 авг. odgovor je dao Marcus Thornton 12 aug. 2014-08-12 11:56 '14 u 11:56 2014-08-12 11:56

Zapravo, git commit prenosi vaše promjene na lokalni repo, a git push šalje vaše promjene na udaljeno mjesto. Budući da je git distribuirani sustav kontrole verzije, razlika je u tome što će urezivanje urezati promjene u vaše lokalno spremište, dok će push gurnuti promjene u udaljeno repo

izvor google

http://gitref.org/basic/ ova veza će biti vrlo korisna.

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

-3
01 авг. odgovor je dat oroyo segun 01 aug. 2016-08-01 14:51 '16 u 14:51 2016-08-01 14:51

Ostala pitanja o oznakama ili Ask a Question