====== GitLab User Documentation ====== Welcome on the UNIGE GitLab documentation. You will find here all the information you need to use the UNIGE GitLab instance. See: - https://gitlab.unige.ch/help/user/index.md if you are looking for the upstream documentation of the UNIGE GitLab **running** instance. - https://catalogue-si.unige.ch if you need to contact the team behind GitLab. ==== Learning ==== Please see the UNIGE official formations at https://spc.unige.ch/en/teaching/digitalskills/ (old https://spc.unige.ch/en/teaching/digitalskills/). ==== Access ==== ''gitlab.unige.ch'' is open to the whole Swiss educational audience via [[https://www.switch.ch/aai/|SWITCHaai]] (UNIGE members should use their ISIs credentials) and to any non-academic entity via [[ https://eduid.ch/web/registration/1/|SWITCH edu-ID (free registration required)]] . For this reason, password authentication has been deactivated. === SSH === Git ''clone/push/pull'' are available: - via SSH (see https://gitlab.unige.ch/help/user/ssh ) after either the user has added a key in the GitLab profile settings or one of the project administrators has set up a **Deploy Key** in the GitLab project interface (see https://gitlab.unige.ch/help/user/project/deploy_keys/index.md ) - via HTTPS after the user has generated a **Personal Access Token** in the GitLab profile settings (see https://gitlab.unige.ch/help/user/profile/personal_access_tokens.md ) or one of the project administrators has set up a **Deploy Token** in the GitLab project interface (see https://gitlab.unige.ch/help/user/project/deploy_tokens/index.md ) ==== Permissions ==== Access to each resource is directly managed **per (sub)group or project** via the web interface (see https://gitlab.unige.ch/help/user/permissions ). To easy access management, you should think in a hierarchical terms from the very beginning: - create a //top-level// group with the least possible members (basically, only the administrators) - inside this group, create //sub-groups// or //projects// with specific permissions Independently of the authentication source (SWITCHaai or SWITCH edu-ID), those users without a UNIGE mail address will automatically get an **external** account (see https://gitlab.unige.ch/help/user/permissions#external-users ), which means that: - they can not create groups or projects - read access to private or internal projects must be explicitly granted - read access to public projects is permitted - write access to any project must be explicitly granted ==== Resources ==== By default, the following settings apply to any //internal// users: - maximum number of projects: 20 - maximum size of a single project: 100MB - maximum size of an attachment: 10MB - maximum size of a single ''git push'' : 1MB Please contact the UNIGE GitLab administrators (see https://catalogue-si.unige.ch/gitlab ) if you need more resources. If you need to store **large** files such as audio, video or graphics ones, please consider switching to [[https://gitlab.unige.ch/help/topics/git/lfs/index.md|Git LFS]]! ==== Features ===== The UNIGE GitLab instance is based on the upstream **Community Edition** (cf. https://about.gitlab.com/install/ce-or-ee/), since until now no Enterprise features have been needed after various evaluation. Of the CE-included feature, the UNIGE GitLab instance does not support the following ones: - CI/CD shared runners (cf. https://dataforum.unige.ch/t/gitlab-runners-not-available/401) - Pages (cf. https://dataforum.unige.ch/t/gitlab-pages-support/194) - PlantUML (cf. https://gitlab.unige.ch/help/administration/integration/plantuml.md via https://support-si.unige.ch/openentry.html?tid=INC000000146442) ==== Project visibility ==== By default, each project is **private** , //i.e.// they can only be cloned and viewed by project members. For more details, please check the [[https://gitlab.unige.ch/help/user/public_access|corresponding section]] of the upstream documentation of the UNIGE GitLab instance. ==== External resources ==== Learn Git with a game: https://ohmygit.org/ Git Windows client https://dataforum.unige.ch/t/recommended-git-client-for-gitlab-unige-account/322/2 SPC VCS courses https://spc.unige.ch/en/teaching/digitalskills/source-code-management-git/ You did something wrong with Git? This site may help you: https://ohshitgit.com/