This lesson is still being designed and assembled (Pre-Alpha version)

Gitlab: Introduction


This assumes that you’ll have some basic background with git, for example:

  1. How to get a local repository, in two ways
    • using git init
    • by cloning from github
  2. How to branch, add changes, commit them, and push
  3. The basics of creating a merge request


In ATLAS we use uses Gitlab—basically an open-source replica of Github—to host our code. Superficially the two have some confusing differences: the website layout won’t match; gitlab is .com hosted by Microsoft, wheras ATLAS’s Gitlab is a cern-hosted instance of an open-source project; Github encourages “pull requests” while in Gitlab you must make “merge requests”. Fortunately, beyond this veneer the core concepts are nearly identical.

The aim of this module is to:

The skills we’ll focus on:

  1. The basic setup for CERN Gitlab
  2. Creating a new reposiotry
  3. Forking an existing repository
  4. Adding and working with multiple “remote” forks from your local repository
  5. Creating merge requests
  6. Submodules, the Athena repository, and how to contribute to both


Setup Download files required for the lesson
00:00 1. Creating a local repositry How do I create a simple repository?
00:25 2. Credentials How do I add my credentials?
00:50 3. Creating the remote repository How do I create a repository and share code?
01:15 4. Cloning How do I clone an existing project
01:25 5. Adding Code How do I add to an existing project?
01:45 6. Making a merge request How do I fix someone else’s code?
02:10 7. Stealing commits How do I merge any public branch into mine?
02:35 8. Submodules How do I use another repository in my project
03:00 9. Athena as a submodule How do I contribute to common code
03:25 10. Formatting How are The Carpentries lessons formatted?
03:35 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.