Документация Engee

Работа с Git

Если вы не работали с Git или другими системами контроля версий, рекомендуем предварительно ознакомиться с вводной статьей.

Git — это распределенная система контроля версий. Она предназначена для отслеживания изменений в файлах и координации работы над проектами (подробнее см. на официальном сайте).

Прежде чем приступать к работе с Git, рекомендуем ознакомиться со статьей по работе с удаленным репозиторием и получением SSH-ключа.

Вы можете работать с Git:

Git является распределенной системой управления версиями потому, что состоит как из удаленного репозитория, расположенного на сервере, так и локального, который хранится на компьютере пользователя:

  • Удаленный репозиторий (remote repository) — это репозиторий, расположенный на сервере и доступный пользователям по сети интернет. Все файлы, история коммитов и другие данные Git хранятся на удаленном сервере. Удаленный репозиторий поддерживает совместную работу — несколько разработчиков работают над одним и тем же проектом, обмениваясь изменениями со своих локальных репозиториев. Обычно располагается на хостинг-платформах, например: GitLab, GitHub или Bitbucket.

  • Локальный репозиторий (local repository) — это копия проекта и базы кода, которая хранится на локальном компьютере разработчика. Копия содержит полную историю изменений, ветки и другие объекты Git, сохраняя их локально.

Удаленные и локальные репозитории тесно связаны друг с другом:

  • Локальный репозиторий может быть создан путем клонирования удаленного репозитория на компьютер разработчика.

  • Разработчик может отправлять свои изменения из локального репозитория на удаленный и получать обновления с удаленного репозитория в локальный.

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

Разработчики обмениваются изменениями через удаленный репозиторий:

local remote repo 1

Каждый разработчик будет использовать свой локальный репозиторий, но в конечном итоге все наработки будут перенесены в удаленный репозиторий. Как только код окажется в удаленном репозитории, другие разработчики смогут видеть и работать с новыми изменениями.

Более компактное представление разницы между локальным и удаленным репозиториями представлено в таблице:

Особенность

Локальный репозиторий

Публичный репозиторий

Расположение

Локально (Engee или компьютер разработчика)

На удаленном сервере

Доступность

Только сам разработчик

Все разработчики (имеющие доступ)

Операции

Локальные операции Git

Удаленные операции Git

Приватность

Доступен только разработчику

Полный публичный доступ или ограниченная доступность

Синхронизация

Требуется синхронизация с удаленным репозиторием

Автоматическая синхронизация с другими копиями репозитория