Какви са разликите между "git commit" и "git push"?

В урока за Git, който гледам, git commit използва за съхраняване на направените от вас промени.

Какво е git push ?

770
30 апр. настроен от Бен на 30 април 2010-04-30 17:17 '10 в 17:17 2010-04-30 17:17
@ 15 отговора

По принцип, git commit "записва промените в" докато git push "хранилището обновява изтритите връзки заедно със свързаните обекти." По този начин първият се използва във връзка с локалното хранилище, докато последният се използва за взаимодействие с отдалеченото хранилище.

Ето една хубава снимка от Оливър Стийл, която обяснява модела и командите на git:

2019

1442
30 апр. отговорът е даден от tanascius на 30 април 2010-04-30 17:20 '10 в 17:20 2010-04-30 17:20

commit : добавяне на промени в локалното хранилище

border=0

push : прехвърляне на последния запис на отдалечен сървър

169
30 апр. отговорът е даден от TheHippo на 30 април 2010-04-30 17:20 '10 в 17:20 2010-04-30 17:20

Е, всъщност git commit поставя промените ви в локално репо, а git push изпраща промените ви на отдалечено място.

52
30 апр. отговор от markovuksanovic 30 апр 2010-04-30 17:21 '10 в 17:21 2010-04-30 17:21

git push използва за добавяне на ангажименти, които сте направили в локалното хранилище, към дистанционното - заедно с git pull , позволява на хората да си сътрудничат.

25
30 апр. Отговор, даден от Michael Borgwardt 30 април 2010-04-30 17:20 '10 в 17:20 2010-04-30 17:20

Тъй като git е разпределена система за контрол на версиите, разликата е, че ангажиментът ще извърши промени в локалното хранилище, докато натискането ще доведе до промени в отдалечено репо.

23
30 апр. Отговорът е даден от Джъстин Етиер на 30 април 2010-04-30 17:20 '10 в 17:20 2010-04-30 17:20

git commit записва промените ви в локалното хранилище.

git push update хранилището е изтрито с локалните ви промени.

12
11 авг. Отговорът е даден на Нареш 11 август. 2013-08-11 09:20 '13 в 9:20 2013-08-11 09:20

'Save as'} хранилища. Git repository = серия (дърво) на коммити (плюс няколко допълнителни неща).

Местно хранилище: хранилището на вашия компютър.

Отдалечено хранилище: хранилище на сървъра (например Github.com).

git commit : добавяне на нова коммитиране (последна промяна + фаза модификации) към локалното хранилище.

git push , git pull : Синхронизирайте локално хранилище с свързаното с него отдалечено хранилище. push - прилага промените от локално към отдалечено , pull - прилага промени от отдалечено към локално .

10
04 авг. отговорът е даден xged 04 авг. 2016-08-04 18:59 '16 в 18:59 ч. 2016-08-04 18:59

Три неща, които трябва да се отбележат:

1) Работна директория ----- папка, в която се намира кода ни

2) Местно хранилище ------ Това е вътре в нашата система. Когато създаваме команда COMMIT, това локално хранилище се създава. къде е нашата работна директория,
Ще бъде създаден файл Checkit (.git).
След това, когато се ангажираме, той записва промените, които правим в файла на Работната директория в локалното хранилище (.git).

3) Отдалечено хранилище ----- Той се намира извън нашата система, както и на сървъри, разположени навсякъде по света. като github. Когато изпълняваме командата PUSH, кодовете от нашето локално хранилище се съхраняват в това отдалечено хранилище.

4
16 мая '18 в 19:08 2018-05-16 19:08 Отговорът е даден от DEVINDER THAKUR 16 май '18 в 19:08 2018-05-16 19:08

Просто искате да добавите следните елементи:

Не можете да натискате, докато не извършите ангажимент, тъй като ние използваме git push да изтласкаме коммитите, направени във вашия локален клон, в отдалеченото хранилище.

Командата git push приема два аргумента:

Отдалечено име, например origin Име на клон, например master

Например:

git push <REMOTENAME> <BRANCHNAME>

4
27 нояб. Отговорът е даден от Фейсал Шейх 27 ноември. 2016-11-27 22:52 '16 в 22:52 ч. 2016-11-27 22:52

Много груба аналогия: ако сравним git commit със запазването на редактирания файл, тогава git push ще копира този файл на друго място.

Моля, не вземайте тази аналогия от този контекст - фиксирането и натискането не е нищо друго освен запазване на редактирания файл и копирането му. Това обаче трябва да бъде само за сравнение.

2
04 авг. отговорът е даден amn 04 aug. 2016-08-04 21:34 '16 в 21:34 2016-08-04 21:34

По-лесно е да се разбере използването на командите git add и commit ако си представите, че лог файлът се поддържа в хранилището ви в Github. Типичният файл с лога на проекта за мен може да изглежда така:

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

Обикновено започвам деня си с искане за git pull и го завършвам с git push request. По този начин всичко в дневния запис съответства на това, което се случва между тях. През всеки ден изпълнявам една или повече логически задачи, които изискват промяна на няколко файла. Редактираните по време на тази задача файлове са изброени в индекса.

Всеки от тези подзадачи (Задача А и Задача Б тук) са отделни ангажименти. Командата git add добавя файлове към списъка "Индекс на променени файлове". Този процес също така се нарича поставяне и всъщност записва модифицираните файлове и направените промени. Командата git commit записва / завършва промените и съответния индексен списък заедно с персонализирано съобщение, което може да се използва за по-нататъшна употреба.

Не забравяйте, че все още променяте само локалното копие на хранилището ви, а не това в Github. След това, само когато правите git push , всички тези записани промени, както и вашите индексни файлове за всеки коммит, се записват в основното хранилище (в Github).

Например, за да получите второто въвеждане в този въображаем лог файл, бих направил:

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

Накратко, git add и git commit ви позволяват да прекъснете промените в основното хранилище в системни логически замествания. Както е отбелязано в други отговори и коментари, те със сигурност имат много други приложения. Това обаче е една от най-често използваните приложения за Git, която е многостепенна система за контрол на версиите, за разлика от други популярни системи като Svn.

0
15 янв. отговорът е даден от Cibin Joseph 15 януари. 2018-01-15 09:13 '18 в 9:13

по отношение на git commit , git commit е стъпка към git push , която изпълнявате в този ред, за да git си gitub файл.

0
18 июня '17 в 0:38 2017-06-18 00:38 отговорът е даден от Zeal Murapa на 18 юни 2006 г. в 0:38 2017-06-18 00:38

git commit не е нищо повече от официалното записване на промените ни, за всеки ангажимент, който даваме на съобщението за фиксиране, веднага щом приключим с ангажимента, можем да го преместим на отдалечения компютър, за да видим промените си в световен мащаб

това означава, че можем да направим много коммитирания, преди да ги изпратим на отдалечен сървър (можем да видим списък на възникналите съобщения и съобщения), git запазва всеки ангажимент с идентификатор за фиксиране, който е 40-цифрен код

и използвам git push само когато исках да видя промените си отдалечено (там, след като проверя дали кодът ми Дженкинс работи)

0
20 дек. Отговорът е даден от Сай Коти 20 декември. 2017-12-20 10:49 '17 в 10:49 2017-12-20 10:49

git commit е да се ангажират файлове, разположени в локалното РЕПО. git push - ускорено препращане на сливането на основния клон на местната страна с отстранен главен клон. Но сливането не винаги ще бъде успешно. Ако се появи неуспех, трябва да pull така, че да можете да направите успешен git push .

-3
12 авг. отговорът е даден от Марк Торнтън 12 август. 2014-08-12 11:56 '14 в 11:56 2014-08-12 11:56

Е, всъщност git commit прехвърля промените ви в локално репо, а git push изпраща промените ви на отдалечено място. Тъй като git е разпределена система за контрол на версиите, разликата е, че ангажиментът ще извърши промени в локалното ви хранилище, докато натискането ще доведе до промени в отдалечено репо.

източник google

http://gitref.org/basic/ тази връзка ще бъде много полезна.

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

-3
01 авг. отговорът е даден oroyo segun 01 aug. 2016-08-01 14:51 '16 в 14:51 ч. 2016-08-01 14:51

Други въпроси относно тагове или Ask a Question