Skip to content

Latest commit

 

History

History
62 lines (42 loc) · 3.86 KB

Lecture2_GitforCollaboration.md

File metadata and controls

62 lines (42 loc) · 3.86 KB

Open Science for Physicists, Lecture 2, Git for Collaboration

  • Last updated: 26 08 2024
  • Lecturer: @erikvansebille

Contributors:

  • Tanja Hinderer
  • Marc Schneiter

Development goal

Students know how to use the tools that are commonly used in collaborative work and appreciate that creating a collaborative environment requires some effort but pays off in the end.

Motivation:

As physics becomes more collaborative, it is important that students can work with others effectively. Git is a powerful tool for managing changes to code and documents, and it is widely used in the physics community. By learning how to use Git in combination with Remote Hosts, students will be able to work more effectively with others, and they will be able to contribute to open-source projects.

Vision of outcome

In this lecture, the students will learn how to use Git and Remote Hosts such as GitLab or GitHub for collaborative work. They will learn how to work with branches, merge changes, and resolve conflicts. Finally, they will learn how to use GitLab (or GitHub) to collaborate with others, including how to fork a repository, create a merge request, and review changes.

Furthermore, the students will get familiar with the use of readme, templates, community rules, licensing and credit.

Embedding/community

The (physics) research community is the main community that should be considered for the topics of this lecture. That community can be on the scale of a group project, a research group, a department, or a whole field. The students will be encouraged to think about how they can use these tools in their own research projects, and how they can use them to collaborate with others in the research community.

Methods/exercises

Topics covered in lecture

  • Remote Hosts such as GitLab or GitHub, and how to use them for collaborative work
    • Branches, merging, and resolving conflicts
    • Pull Requests, Issues, labels, unit testing/continuous integration and code reviews
  • Readme, templates, community rules, licensing and credit

Evaluation

During the four hours of tutorial, the students will go through the fourteen lessons of the git tutorial and will be asked to complete an exercise to demonstrate their understanding of the material.

Assignment description

Students will form teams of threes, each working on their own computer. Each team creates a branch on GitLab and uses it to collaboratively write a haiku poem about Open Science. Within the team, each student contributes one line from their own computer. Finally, the team creates a Merge Request, and a TA merges the file with the haiku into the master branch. The students will use the features of GitLab to manage this assignment.

At the end of the lecture, the haiku poems will be read by each team and the best one will be selected by the class.

See this template for detailed instructions on the haiku assignment.

Information Sources / Bibliography