GitLab Reference#
Quick reference for GitLab rules, formats, and checklists at SKAO.
Branch Naming Convention#
Format all work branches like this:
<jira-id>-<description>
Rules:
Prefix with the Jira story ID
Use all lower case
Separate words with hyphens
-
Examples:
abc-123-the-new-widget
ska-456-fix-pipeline-timeout
at-789-update-documentation
Commit Message Format#
Format each commit message like this:
<JIRA-ID>: <Description>
Rules:
Jira ID in UPPER CASE
Follow with colon and space
Description starts with capital letter
Use imperative mood (“Add feature” not “Added feature”)
Examples:
ABC-123: Add awesome code
SKA-456: Fix timeout in CI pipeline
AT-789: Update installation documentation
Email Requirements#
Requirement |
Details |
|---|---|
Account email |
Use your institutional email address |
Git commits |
Configure Git to use institutional email |
Adding email |
GitLab → Profile → Emails → Add new email |
Authentication Requirements#
Requirement |
Details |
|---|---|
2FA |
Required for all SKAO GitLab users |
Authenticator apps |
Google Authenticator (recommended), Microsoft Authenticator, Aegis Authenticator |
SSH keys |
Enable Git operations with 2FA |
GPG signing |
Sign all commits (recommended) |
Recovery codes |
Store securely — SKAO can’t reset MFA |
Key GitLab URLs#
Resource |
URL |
|---|---|
SKA Repositories |
|
Profile Settings |
|
SSH Keys |
|
GPG Keys |
|
Email Settings |
|
System Team Support |
https://jira.skatelescope.org/servicedesk/ customer/portal/166 |
Code Snippets |
Merge Request Checklist#
Verify before submitting a merge request:
Title and Description:
[ ] Title starts with Jira ID (e.g., “ABC-123: Add feature”)
[ ] Description explains what changed and why
[ ] Link related Jira ticket
Code Quality:
[ ] Code follows SKAO coding standards
[ ] All tests pass locally
[ ] New code includes appropriate tests
[ ] Update documentation if needed
Pipeline:
[ ] All CI pipeline checks pass
[ ] No new linting errors or warnings
[ ] Maintain or improve code coverage
Review:
[ ] Assign reviewers from your team
[ ] Complete self-review before requesting review
Git Quick Commands#
Initial setup:
git config --global user.email "your@institutional.email"
git config --global commit.gpgsign true
Daily workflow:
# Update main and create branch
git checkout main
git pull
git checkout -b abc-123-new-feature
# Stage, commit, push
git add .
git commit -m "ABC-123: Add new feature"
git push --set-upstream origin abc-123-new-feature
Switch remote from HTTPS to SSH:
git remote set-url origin git@gitlab.com:ska-telescope/your-project.git
Learn Git#
New to Git? These resources help you learn the fundamentals:
Learn Git interactively — Visual, hands-on tutorial
Official Git reference — Complete documentation
Interactive Git cheatsheet — Visual command reference
See Also#
How to Work with GitLab at SKAO — Instructions for GitLab tasks
Understanding GitLab at SKAO — Why SKAO uses these conventions
Tutorial: Make Your First Contribution — Walkthrough for new contributors