В чем разница между "git commit" и "git push"?
в учебнике Git я прохожу,git commit используется для хранения внесенных изменений. 
что это git push используется для ТО?
15 ответов:
в принципе
git commit"запись изменений в репозиторий" аgit push"обновляет удаленные ссылки вместе со связанными объектами". Таким образом, первый используется в связи с вашим локальным репозиторием, а последний используется для взаимодействия с удаленным репозиторием.вот хорошая картина от Оливер Стил, что объясняет модель git и команды:
подробнее о
git pushиgit pullon GitReady.com (Статья, на которую я ссылался в первую очередь)
commit: внесений изменений в локальный репозиторий
push: для передачи последнего коммита(ов) на удаленный сервер
Ну, в основном git commit помещает ваши изменения в локальное РЕПО, в то время как git push отправляет ваши изменения в удаленное местоположение.
git pushиспользуется для добавления коммитов, которые вы сделали в локальном репозитории, в удаленный-вместе сgit pull, это позволяет людям сотрудничать.
поскольку git является распределенной системой управления версиями, разница заключается в том, что commit будет фиксировать изменения в вашем локальном репозитории, тогда как push будет толкать изменения до удаленного РЕПО.
git commitзапишите свои изменения в local репозитория.
git pushобновление the remote репозиторий с локальными изменениями.
Commit: {Snapshot | Changeset | History record | Version / 'Save-as'} репозитория. Git repository = серия (дерево) из commits (плюс несколько дополнительных вещей).
местные репозиторий: репозиторий на вашем компьютере.
Remote репозитории: репозиторий на сервере (например,Github).
git commitДобавить новый commit (последний commit + поставил изменений) к местные репозитория.
git push,git pull: синхронизация местные репозиторий с remote репозитория.push- применить изменения из местные на remote,pull- применить изменения из remote на местные.
просто хочу добавить следующее:
вы не можете нажать, пока вы не совершите, как мы используем
git pushчтобы отправить коммиты, сделанные в вашей локальной ветке, в удаленный репозиторий.The
git pushкоманда принимает два аргумента:удаленное имя, например,
originИмя ветви, например,masterнапример:
git push <REMOTENAME> <BRANCHNAME>
три вещи, чтобы отметить:
1)Рабочий Каталог ----- папка, в которой находится наш файл кодов
2)Локальный Репозиторий ------ это внутри нашей системы. Когда мы первый раз делаем Команда COMMIT затем создается этот локальный репозиторий. там же, где находится наш рабочий каталог,
Попробуй ( .создается файл git).
После этого, когда мы когда-либо совершим , это сохранит изменения вносим в файл рабочей директории к локальный репозиторий.( git)3)Удаленный Репозиторий ----- это находится за пределами нашей системы, как на серверах находится в любой точке мира . как github. Когда мы делаем команду нажима после этого коды от нашего местного репозиторий получить хранится в этом удаленном репозитории
очень грубая аналогия: если сравнивать
git commitдля сохранения отредактированного файла, затемgit pushбудет копировать этот файл в другое место.пожалуйста, не вынимайте эту аналогию из этого контекста-фиксация и нажатие-это не что иное, как сохранение отредактированного файла и его копирование. Тем не менее, он должен держаться только для сравнения.
С точки зрения обывателя,
git commitшаг передgit pushвы запускаете их в этом порядке, чтобы успешно git ваш файл в github.
git commit-это не что иное, как сохранение наших изменений официально, для каждого коммита мы даем сообщение о фиксации, как только мы закончим с коммитами, мы можем нажать его на пульт, чтобы увидеть наши изменения глобально
Что означает, что мы можем сделать множество коммитов, прежде чем мы нажмем на remote (мы можем видеть список коммитов произошло и сообщения тоже) git сохраняет каждую фиксацию с идентификатором фиксации, который представляет собой 40-значный код
и я использую git push только тогда, когда я хотел увидеть свое изменение в remote (там после того, как я буду проверьте, работал ли мой код в Дженкинсе)
легче понять использование команд 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 pushдля быстрого слияния главной ветви локальной стороны с удаленной главной ветвью. Но слияние не всегда будет успешным. Если отказ появляется, Вы должныpull, Так что вы можете сделать удачнуюgit push.
Ну, в основном git commit помещает ваши изменения в локальное РЕПО, в то время как git push отправляет ваши изменения в удаленное местоположение. Поскольку git является распределенной системой управления версиями, разница заключается в том, что commit будет фиксировать изменения в вашем локальном репозитории, тогда как push будет толкать изменения до удаленного РЕПО
источник Google
http://gitref.org/basic/ эта ссылка будет очень полезна тоже
