What is version control?

The class of systems that assists software developers in tracking and managing changes in computer programs, websites, documents, or other data is known as version control. Developers continually make improvements and modifications to the code of a software after creating it. With each update, they come up with a new version of the initial officially released code of the software.

The role of version control systems is to maintain these version updates by storing the changes in a central repository, which is a location where all the files for a specific project are stored. This process makes it easier to collaborate on the versions. They can download versions from the repository, make changes to them, and re-upload the new version they've created. To keep track, these changes stored in the repository can be viewed by other developers at any time.

What is "Git"?

As the name suggests, Git is the version control system upon which GitHub is based. Git is an open-source system created by Linus Torvalds, the creator of Linux, in 2005. (At that time, it started as a command-line tool in the Linux kernel.)

Git is more specifically a distributed version control system. It manages software versions much like other version control systems, using a central repository. The difference is that Git, as a distributed system, makes the repository available on every user's computer. This means that users employing distributed version control essentially maintain a copy of the central repository by cloning it to their own machine.

  • This system operates in a way that allows users to first make changes to their own local copies and then record these changes on the central server.
  • This process makes it easier to work with more detailed modifications, as each time a user wants to make a change, there's no need to establish a connection to the server to do so.

What is the GitHub Enterprise environment?

In order to unify Deltares source code management, it has been decided that for projects where Deltares is leading, cloud-based GitHub Enterprise is the first choice. (For those projects where there is a good reason not to use GitHub, we set up an on-premises GitLab Professional environment)

In GitHub Enterprise, colleagues will be able to log in with their Deltares accounts. This enables Deltares to take ownership of resources, such as repositories, packages, and projects. Furthermore, GitHub Enterprise provides the ability to manage policies and delivers significantly higher levels of support and additional controls for security, compliance, and deployment. We aim to gradually and systematically move everything currently running on the free versions of GitHub into the paid version.

For colleagues that are already using Github, not much will change. They will only be required to perform an additional login when accessing their repositories in the Deltares Github organizations.

The Deltares organisation structure in GitHub

Within the Deltares Github Enterprise environment there are two 'organizations':

  1. Deltares: This organization is meant to house all repositories linked to the Deltares's flag ship products. These repositories are expected to be in a 'sellable' state and fall under some form of 'support & maintenance'.
  2. Deltares-research: This organization is meant to house all other repositories. This includes project repositories, proof-of-concepts or software under development.

    Once the 'state' of a repository changes, it can be moved to a different organization.


Contact

If you wish to request a repository you can do so through the link:
Request a repository

If you have a general question regarding Github or want to request an account then use the form here: 
Submit a question


Alternatively the Github Support team can be reached by e-mail: github.support@deltares.nl

  • No labels