В учебнике по Git, который я рассмотрю, git commitон используется для хранения внесенных вами изменений.
Что git pushиспользуется тогда?
В учебнике по Git, который я рассмотрю, git commitон используется для хранения внесенных вами изменений.
Что git pushиспользуется тогда?
Ответы:
По сути, git commit« записывает изменения в хранилище », а git push« обновляет удаленные ссылки вместе со связанными объектами». ». Таким образом, первый используется в связи с вашим локальным хранилищем, а второй - для взаимодействия с удаленным хранилищем.
Вот хорошая картинка от Оливера Стила , которая объясняет модель git и команды:

Узнайте больше о GitReady.comgit push и git pullо нем (статья, на которую я ссылался первой)
git pushс которым можно работать. В действительности, местом назначения git pushможет быть любое git-хранилище. Это может быть ваш собственный локальный жесткий диск в другом каталоге ( git remote add clone ~/proj/clone.git; git push clone masterили git push ~/proj/clone.git master, например) или хранилище git, которое обслуживает ваш собственный хост.
Ну, в основном git commit помещает ваши изменения в локальное хранилище, а git push отправляет ваши изменения в удаленное местоположение.
git pushЗагружает ли актуально обновленные файлы или какой-то специальный «diff» файл?
git pushиспользуется для добавления коммитов, которые вы сделали в локальном репозитории, в удаленный - вместе с тем git pullон позволяет людям сотрудничать.
Поскольку git - это распределенная система управления версиями, разница в том, что commit будет фиксировать изменения в вашем локальном репозитории, тогда как push будет передавать изменения до удаленного репо.
Совершить : снимок | Changeset | History_record | Версия | «Сохранить как» хранилища. Git репозиторий = серия (дерево) коммитов .
Локальный репозиторий: репозиторий на вашем компьютере.
Удаленный репозиторий: репозиторий на сервере ( Github ).
git commit: Добавить новый коммит (последний коммит + поэтапные модификации) в локальный репозиторий. (Все коммиты хранятся в /.git)
git push, git pull: Синхронизировать локальный репозиторий со связанным с ним удаленным репозиторием. push- применить изменения с локального на удаленный , pull- применить изменения с удаленного на локальный .
git commitзапишите ваши изменения в локальный репозиторий.
git push обновление с удаленным хранилищем с вашими локальными изменениями.
Три вещи на заметку:
1) Рабочий каталог ----- папка, в которой находится наш файл кодов
2) Локальный репозиторий ------ Это внутри нашей системы. Когда мы впервые создаем команду COMMIT, создается этот локальный репозиторий. в том же месте, где находится наш рабочий каталог,
создается файл Checkit (.git).
После этого, когда мы делаем коммит, он сохраняет изменения, которые мы вносим в файл Working Directory в локальный репозиторий (.git).
3) Удаленный репозиторий ----- Он расположен вне нашей системы, как и на серверах, расположенных в любой точке мира. как GitHub. Когда мы выполняем команду PUSH, коды из нашего локального хранилища сохраняются в этом удаленном хранилище.
Просто хочу добавить следующие пункты:
Yon не может отправлять сообщения до тех пор, пока вы не совершите коммит, поскольку мы используем git pushдля отправки коммитов, сделанных в вашей локальной ветви, в удаленный репозиторий
Команда git pushпринимает два аргумента:
Удаленное имя, например, origin
Имя ветви, например,master
Например:
git push <REMOTENAME> <BRANCHNAME>
git push origin master
Очень грубая аналогия: если мы сравним git commitс сохранением отредактированного файла, то git pushскопируем этот файл в другое место.
Пожалуйста, не вынимайте эту аналогию из этого контекста - фиксация и отправка не совсем то же самое, что сохранение отредактированного файла и его копирование. Тем не менее, это должно быть проведено для сравнения.
Проще понять использование команд 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.
git commit - это не что иное, как официальное сохранение наших изменений, для каждого коммита, который мы даем сообщению коммита, как только мы закончим с коммитами, мы можем отправить его на удаленный компьютер, чтобы увидеть наши изменения глобально
это означает, что мы можем сделать множество коммитов, прежде чем мы отправим на удаленный сервер (мы можем увидеть список произошедших коммитов и сообщения), git сохраняет каждый коммит с идентификатором коммита, который является 40-значным кодом
и я использую git push только тогда, когда я хотел увидеть свои изменения в удаленном режиме (там после того, как я проверю, работает ли мой код в jenkins)
Ну, в основном git commit помещает ваши изменения в локальное хранилище, а git push отправляет ваши изменения в удаленное местоположение. Поскольку git - это распределенная система управления версиями, разница в том, что commit будет фиксировать изменения в вашем локальном репозитории, тогда как push будет передавать изменения до удаленного репо
источник Google
http://gitref.org/basic/ эта ссылка тоже будет очень полезна
с точки зрения непрофессионала, git commitэто шаг до git pushтого, как вы запустите их в таком порядке, чтобы успешно переместить ваш файл в github.
git commitэто зафиксировать файлы, которые находятся в локальном репо. git pushэто быстрая перемотка слияния главной ветви локальной стороны с удаленной главной веткой. Но слияние не всегда будет успешным. Если появляется отказ, вы должны сделать pullтак, чтобы вы могли добиться успеха git push.