В чем различия между "git commit" и "git push"? - PullRequest
831 голосов
/ 30 апреля 2010

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

Для чего тогда используется git push? 1005 *

Ответы [ 15 ]

1524 голосов
/ 30 апреля 2010

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

Вот хорошая картинка от Оливера Стила , которая объясняет модель git и команды:

Git data transport commands

Узнайте больше о git push и git pull на GitReady.com (статья, на которую я ссылался первой)

195 голосов
/ 30 апреля 2010

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

push : для передачи последнего коммита (ов) на удаленный сервер

54 голосов
/ 30 апреля 2010

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

25 голосов
/ 30 апреля 2010

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

25 голосов
/ 30 апреля 2010

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

13 голосов
/ 04 августа 2016

Фиксация : Снимок | Изменения | Запись истории | Версия | «Сохранить как» хранилища. Git репозиторий = серия (дерево) коммитов .

Локальное хранилище: хранилище на вашем компьютере.

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

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

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

12 голосов
/ 11 августа 2013

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

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

6 голосов
/ 16 мая 2018

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

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

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

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

6 голосов
/ 27 ноября 2016

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

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

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

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

Например:

git push  <REMOTENAME> <BRANCHNAME> 
git push  origin       master
3 голосов
/ 04 августа 2016

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

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

...