"86.57.235.36 - 86.57.235.36"

Каковы различия между "git commit" и "git push"?

В учебнике Git, который я просматриваю, git commit используется для хранения сделанных вами изменений.

Что такое git push?

770
30 апр. '10 в 17:17
источник поделиться
15 ответов

В основном git commit "записывает изменения в репозиторий" while git push "обновляет удаленные ссылки вместе со связанными объектами". Таким образом, первый используется в связи с вашим локальным репозиторием, в то время как последний используется для взаимодействия с удаленным репозиторием.

Вот хорошая картина из Oliver Steele, которая объясняет модель git и команды:

Git data transport commands

Подробнее о git push и git pull на GitReady.com (статья, о которой я упоминал вначале)

1442
30 апр. '10 в 17:20
источник

Связанные вопросы


Похожие вопросы

commit: добавление изменений в локальный репозиторий

push: передача последнего фиксации на удаленный сервер

169
30 апр. '10 в 17:20
источник

Ну, в основном git commit помещает ваши изменения в локальное репо, а git push отправляет ваши изменения в удаленное местоположение.

52
30 апр. '10 в 17:21
источник

git push используется для добавления коммитов, которые вы сделали в локальном репозитории, к удаленному - вместе с git pull, это позволяет людям сотрудничать.

25
30 апр. '10 в 17:20
источник

Так как git - это система управления распределенной версией, разница заключается в том, что фиксация будет фиксировать изменения в вашем локальном репозитории, тогда как push приведет к изменениям до удаленного репо.

23
30 апр. '10 в 17:20
источник

git commit запишите свои изменения в репозиторий локальный.

git push обновить репозиторий удаленный с вашими локальными изменениями.

12
11 авг. '13 в 9:20
источник

'Сохранить как'} хранилища. Git-репозиторий = серия (дерево) коммитов (плюс несколько дополнительных вещей).

Локальный репозиторий: репозиторий на вашем компьютере.

Удаленный репозиторий: репозиторий на сервере (например, Github.com).

git commit: добавить новый коммит (последний коммит + поэтапные модификации) в локальный репозиторий.

git push, git pull: Синхронизируйте локальный репозиторий со связанным с ним удаленным репозиторием. push - применить изменения с локального на удаленный, pull - применить изменения с удаленного на локальный.

10
04 авг. '16 в 18:59
источник

Три вещи на заметку:

1) Рабочий каталог ----- папка, в которой находится наш файл кодов

2) Локальный репозиторий ------ Это внутри нашей системы. Когда мы впервые создаем команду COMMIT, создается этот локальный репозиторий. там же, где находится наш рабочий каталог,
Checkit (.git) файл будет создан.
После этого, когда мы делаем коммит, он сохраняет изменения, которые мы вносим в файл Working Directory в локальный репозиторий (.git).

3) Удаленный репозиторий ----- Он расположен вне нашей системы, как и на серверах, расположенных в любой точке мира. как GitHub. Когда мы выполняем команду PUSH, коды из нашего локального репозитория сохраняются в этом удаленном репозитории.

4
16 мая '18 в 19:08
источник

Просто хочу добавить следующие пункты:

Yon не может нажимать до тех пор, пока вы не зафиксируете, поскольку мы используем git push, чтобы нажимать фиксации, сделанные на вашей локальной ветке, в удаленный репозиторий.

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

Удаленное имя, например origin Имя ветки, например master

Например:

git push <REMOTENAME> <BRANCHNAME>

4
27 нояб. '16 в 22:52
источник

Очень грубая аналогия: если мы сравним git commit с сохранением отредактированного файла, то git push будет копировать этот файл в другое место.

Пожалуйста, не вынимайте эту аналогию из этого контекста - фиксация и нажатие не что иное, как сохранение отредактированного файла и его копирование. Тем не менее, это должно быть только для сравнения.

2
04 авг. '16 в 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. Таким образом, все в дневной записи соответствует тому, что происходит между ними. В течение каждого дня я выполняю одну или несколько логических задач, которые требуют изменения нескольких файлов. Файлы, отредактированные во время этой задачи, перечислены в индексе.

Каждая из этих подзадач (Задача A и Задача B здесь) является отдельными коммитами. Команда 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 янв. '18 в 9:13
источник

в терминах непрофессионала, git commit - это шаг до git push, который вы запускаете в этом порядке для успешного git вашего файла в github.

0
18 июня '17 в 0:38
источник

git commit - это не что иное, как официальное сохранение наших изменений, для каждого коммита, который мы даем сообщению коммита, как только мы закончим с коммитами, мы можем переместить его на удаленный компьютер, чтобы увидеть наши изменения глобально

это означает, что мы можем сделать множество коммитов, прежде чем мы отправим их на удаленный сервер (мы можем увидеть список произошедших коммитов и сообщения), git сохраняет каждый коммит с идентификатором коммита, который представляет собой 40-значный код

и я использую git push только тогда, когда я хотел увидеть свои изменения в удаленном режиме (там после того, как я проверю, работает ли мой код в jenkins)

0
20 дек. '17 в 10:49
источник

git commit заключается в фиксации файлов, расположенных в локальном репо. git push - ускоренная пересылка слияния главной ветки локальной стороны с удаленной главной ветвью. Но слияние не всегда будет успешным. Если появляется отказ, вы должны pull, чтобы вы могли сделать успешный git push.

-3
12 авг. '14 в 11:56
источник

Ну, в основном git commit переносит ваши изменения в локальное репо, а git push отправляет ваши изменения в удаленное местоположение. Поскольку git является распределенной системой управления версиями, разница заключается в том, что фиксация будет фиксировать изменения в вашем локальном репозитории, тогда как push будет нажимать изменения до удаленного репо

source Google

http://gitref.org/basic/ эта ссылка будет очень полезна.

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

-3
01 авг. '16 в 14:51
источник

Посмотрите другие вопросы по меткам или Задайте вопрос