Если вы один из миллионов в сообществе разработчиков, то, скорее всего, вы уже слышали о концепции контроля версий. Это мощный инструмент или система, которая помогает вам позаботиться о вашей работе, позволяя быстро перемещаться по файлам, документам и другому набору информации, связанной с вашим проектом. И на рынке есть множество инструментов для таких видов работ, как проприетарных, так и с открытым исходным кодом. Git является одной из самых популярных и широко используемых в мире систем контроля версий, и огромное количество проектов используют Git для контроля версий. Git - это бесплатная система управления версиями с открытым исходным кодом, предназначенная для отслеживания изменений в исходном коде во время разработки программного обеспечения..
Проект Git представлен структурой данных, которая называется хранилищем, в котором хранится вся информация, связанная с проектом, включая полную историю проекта с момента его создания. Он отслеживает все изменения, внесенные в файлы с течением времени, выстраивая временную шкалу по мере выполнения проекта. Репозиторий, в свою очередь, состоит из набора отдельных снимков содержимого проекта - набора файлов и репозиториев - называемых коммитами. Если вы хотите поделиться разработкой своего проекта со всем миром, вы должны отправить его на удаленный компьютер, к которому у вас есть доступ для записи. Ваши локальные филиалы не синхронизируются автоматически с удаленными репозиториями - вы должны явно выдвинуть ветки, которыми вы хотите поделиться.
Git рассматривает свои данные больше как набор снимков, как мини-файловая система или версии проекта, называемые коммитами. Каждый раз, когда вы фиксируете или сохраняете состояние вашего проекта в любое время, Git обычно делает снимок того, как ваши файлы выглядят в данный момент, и сохраняет ссылку на этот снимок. Объект фиксации содержит метаданные для каждого изменения, внесенного в хранилище, включая автора, коммиттера, дату фиксации и сообщение журнала. Каждая фиксация указывает на объект дерева, который фиксирует состояние хранилища в тот момент, когда фиксация была выполнена, и все в одном полном снимке. В процессе внесения изменений в код вы создаете несколько коммитов - отдельный коммит для каждого внесенного вами изменения. Git назначает каждому коммиту уникальный идентификатор, который отслеживает, что, когда и кто из внесенных вами изменений.
Каждый разработчик имеет свой собственный репозиторий для отслеживания их изменений. Вы вносите свои изменения локально, а когда вы готовы поделиться ими с другими разработчиками, вы отправляете их обратно в репозиторий, которым вы все делитесь. Коммит сохраняет изменения, сделанные вами только в локальном хранилище, но не в удаленном хранилище. Ваши коммиты не синхронизируются автоматически с удаленным репозиторием - вы должны явно выдавать коммиты, которыми хотите поделиться. Когда вы используете команду push, вы вносите свои изменения в репозиторий верхнего уровня. Каждый проект с открытым исходным кодом имеет свой собственный способ принимать изменения. В некоторых проектах используется полностью распределенная система контроля версий, в которой только один человек может вносить изменения в основной репозиторий, в то время как существует модель общего репозитория, в которой все разработчики могут передавать в общий репозиторий..
- Нажатие наступает после совершения. Git фиксирует записи и отслеживает изменения в хранилище, каждый из которых указывает на объект дерева, который фиксирует состояние хранилища в тот момент, когда было выполнено принятие, и все в одном полном снимке. Но фиксация сохраняет изменения только в локальном хранилище, но не в удаленном хранилище. Git push обновляет ваши зафиксированные изменения и позволяет отправлять их в удаленный репозиторий, где все разработчики могут получить к ним доступ. Когда вы используете команду push, она просто обновляет ваши изменения в вышестоящем хранилище.
- Git коммиты являются локальными, то есть они записываются только на той машине, на которой эти коммиты действительно выполняются. Команда «git commit» используется для того, чтобы Git сохранил ваши изменения в локальном репозитории, и вы должны указать Git, какие изменения вы хотите включить в коммит, прежде чем использовать команду «git commit». Вы можете использовать команду «git push», чтобы отправить коммиты из локального репозитория в удаленный репозиторий. Команда «push» обновляет новые локальные коммиты на удаленном сервере. Push принимает два аргумента: удаленное имя (источник) и имя ветви (мастер).
Короче говоря, commit является фундаментальной единицей изменений в Git. В отличие от других моделей централизованного управления версиями, Git рассматривает свои данные больше как набор снимков, которые называются коммитами. Они похожи на снимок всего содержимого репозитория вместе со всей информацией, относящейся к проекту, и отношения этого состояния репозитория к другим записанным состояниям по мере развития содержимого с течением времени. Объект фиксации содержит метаданные для каждого изменения, внесенного в хранилище, включая автора, коммиттера, дату фиксации и сообщение журнала. Но commit сохраняет изменения только в локальный репозиторий, но не в удаленный репозиторий. Git push обновляет ваши зафиксированные изменения и позволяет отправлять их в удаленный репозиторий, где все разработчики могут получить к ним доступ.