В чем разница между "git commit" и "git push"?
в учебнике Git я прохожу,git commit
используется для хранения внесенных изменений.
что это git push
используется для ТО?
15 ответов:
в принципе
git commit
"запись изменений в репозиторий" аgit push
"обновляет удаленные ссылки вместе со связанными объектами". Таким образом, первый используется в связи с вашим локальным репозиторием, а последний используется для взаимодействия с удаленным репозиторием.вот хорошая картина от Оливер Стил, что объясняет модель git и команды:
подробнее о
git push
иgit pull
on 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/ эта ссылка будет очень полезна тоже