CODESYS Git seamlessly integrates the use of the distributed version control system Git™ into the CODESYS development environment. The functionality of Git is directly available in CODESYS. A local Git installation is not required.
Git™ is a software for distributed version control. Version control is a class of systems responsible for managing changes to documents, programs, and other information stored in files. It involves logging changes to one or a series of files over time so that a specific version can be reverted to later. In software development, version control systems are also used where a team of developers work together on the managed files.
The main tasks of a version control system are:
Logging of changes: It can be traced at any time who made which changes and when.
Restoring old statuses of individual files: Accidental changes can be undone at any time.
Archiving the individual statuses of a project: All versions can be accessed at any time.
Coordination of shared access to files by several developers
Simultaneous development of several development branches of a project
Distributed version control does not use a central repository. Each developer working on the managed project has their own repository and can synchronize it with any other repository. Version history is also distributed. Changes can be tracked locally without having to connect to a server.
Further information on Git can be found at https://git-scm.com/.
The project storage used by CODESYS is not suitable for use in a version control system. Therefore a special project storage was developed for CODESYS Git. The use of a text format (JSON) ensures the readability of the content of the stored files. In addition, there is a clear allocation between a CODESYS object within the CODESYS project and the storage location of the object’s data within the CODESYS Git project storage.
Since CODESYS Git optimally supports ensuring the consistency of CODESYS projects as well as the correct handling of dependencies between CODESYS objects, editing of the stored files outside CODESYS Git should be avoided. This applies in particular to typical Git workflows such as branching and merging.
CODESYS Git supports the use of Git hosting services such as GitHub and GitLab for storing Git repositories. Due to the special CODESYS Git project storage, editing the data using the tools offered by some Git hosting services is only possible to a very limited extent.