Engee documentation

Working with Git

If you have not worked with Git or other version control systems, we recommend that you familiarize yourself with introductory article.

Git is a distributed version control system. It is designed to track changes in files and coordinate work on projects (for more information, see official website).

Before you start working with Git, we recommend that you familiarize yourself with article on working with a remote repository and obtaining an SSH key.

You can work with Git:

Git is a distributed version control system because it consists of both a remote repository located on the server and a local repository that is stored on the user’s computer.:

  • Remote repository is a repository located on a server and accessible to users over the Internet. All files, commit history, and other Git data are stored on a remote server. The remote repository supports collaboration — multiple developers are working on the same project, sharing changes from their local repositories. It is usually located on hosting platforms, for example: GitLab, GitHub or Bitbucket.

  • Local repository is a copy of the project and the code base that is stored on the developer’s local computer. The copy contains the full revision history, branches, and other Git objects, saving them locally.

Remote and local repositories are closely related to each other:

  • A local repository can be created by cloning a remote repository onto the developer’s computer.

  • The developer can send his changes from the local repository to the remote one and receive updates from the remote repository to the local one.

  • Local and remote repositories provide an environment for collaboration on a project, allowing developers to share changes and manage code versions.

Developers share changes via a remote repository.:

local remote repo 1 en

Each developer will use their own local repository, but eventually all developments will be transferred to a remote repository. Once the code is in the remote repository, other developers will be able to see and work with the new changes.

A more compact representation of the difference between local and remote repositories is presented in the table:

Feature

Local Repository

Public Repository

Location

Locally (Engee or developer’s computer)

On a remote server

Availability

Only the developer himself

All developers (with access)

Operations

Local Git operations

Remote Git operations

Privacy

Available only to the developer

Full public access or limited availability

Synchronization

Synchronization with the remote repository is required

Automatic synchronization with other copies of the repository