Git, git, GitLab, GitHub, git.mst.edu, git-classes.mst.edu … Help!?

Git (with a capital G) is an ecosystem centered around a particular form of version control repository. Version control repositories are used to store tracked history/changes of files, usually textual such as source code, html, javascript, and similar — although it does support storing non-textual files.

Git repositories can be stored locally on your own computer, on file servers (such as minerfiles/DFS) or on repository hosting services. When stored on repository hosting services, additional capabilities are included, going well beyond just the simple storage of file change history. These include functionality such as automated builds (CI/Continuous Integration), projects, sharing amongst multiple people, pull/merge requests for accepting submitted improvements from other users, etc. Note that it is referred to as a “git repo(sitory)”, not a “github repository”. The latter terminology should only be used if it is actually hosted on github.com.

git (with a lowercase g) is the command line tool that interfaces to a git repository. There are numerous other tools that will directly interface with git repositories as well such as clients embedded into VS-Code and other IDEs.

GitLab and GitHub are two (of many) repository hosting software packages/services available in several editions:

  • GitLab (https://gitlab.com)
    • GitLab Self Hosted (Community Edition)
    • GitLab Self Hosted (Enterprise Edition – various tiers)
    • GitLab Cloud/SaaS (Cloud hosted service, various tiers from free to paid monthly)
  • GitHub (https://github.com)
    • GitHub free cloud
    • GitHub paid cloud tiers
    • GitHub Enterprise cloud tiers
    • GitHub Enterprise self hosted

S&T Information Technology provides two GitLab Self Hosted Community Edition instances to the general campus community:

  • https://git.mst.edu
    • This is a general access facility available to anyone in the entire umsystem.edu with a valid/active account intended for persistent/long term storage of repositories. It is NOT intended for use for short duration classwork or assignments.
    • This facility can be used by staff, students, researchers, and is actively used by IT for all of our application development and source code maintenance.
    • Repositories are not automatically pruned according to any retention rules at this time, although IT will periodically remove repositories that are inactive or for users that are no longer with the university, especially if they are large in size.
  • https://git-classes.mst.edu
    • This instance of GitLab is intended for academic classwork such as short duration assignments related to submission of homework or similar temporary usage. Repositories on this instance are in some cases created fully automatically by the Computer Science department as part of automated grading.
    • This instance is also available to any active umsystem.edu user.
    • Repositories on this instance are automatically pruned based on inactivity. 365 days after a repository is last accessed, it will be moved into an inaccessible “archive” area. Once the repository has been in the archive state for 90 days, it is permanently removed. This is an entirely automated process.
    • Please do not use this instance for storing any content that should be retained long term as it could be removed without warning by the process above if left inactive.

NOTE: Git repositories and repository hosting are not file servers, they are not intended for storing large files or content.

S&T Information Technology does not provide any support for the “use” of git or the gitlab services, other than for service issues. (i.e. service outage, can’t log in, etc.) For any assistance with use of git itself, or how to best make use of those repository services, please reach out to your instructors, or other online resources and training.