Version Control for Researchers

Dates

20-21 February 2023

 

Due to the COVID-19 outbreak, this course will be held online

 

Course overview

The need for managing changes to text is almost as old as writing but became much more important, and complex, when the era of computing began. As such, the most sophisticated tools have been developed to support software development and manage changes to code. All too familiar filenames like MANUSCRIPT_final_v3_TMcomments_final3.docx however are clear reminders that version control remains an important challenge in academia,  especially given how code has become increasingly important in research.
A formal version control system and following best practices software development teams do has multiple benefits for academics. From tracking the evolution of a project, acting as backup, organising tasks, facilitating smoother review, discussion, and collaboration and increasing transparency to enabling use of more advanced tools like continuous integration for automatic testing of code integrity, formal version control has become a skill worth investing in in the current research environment.
 

Target audience and assumed background

In this course, we’ll introduce you to the most popular open source software for version control (Git), and the most popular platform for sharing and collaborating on projects online (GitHub) using a graphical interface to both (GitKraken Client). The course is designed to get researchers started with version control, demonstrate how to collaborate effectively as well as introduce version control best practices. No prior knowledge of the topics covered is required. Participants will need a recent version of GitKraken Client installed, a personal GitHub account and optionally (should they wish to use Git outside of GitKraken beyond this training) Git installed. Full setup instructions will be provided prior to the course.

Learning outcomes

1.    Understand what version control is, why it is useful in research, what tools are available and how they interact.

2.   Be able to version control your own projects using git and share them remotely on GitHub.
3.   Be able to create a simple webpage with markdown and share it through GitHub.
4.   Be able to copy (fork) and make a contribution (pull request) to someone else’s repository (project).
5.   Be able to set up, work with, contribute to and manage contributions to a team repository using branches.

6.   Be able to review contributions by others and request changes.

Program

Sessions from 14:00 to 18:00 (Berlin time). Sessions will interweave mix lectures, in-class discussion/ Q&A, and practical exercises.

 

Monday 20th February– Classes from 2-6 PM Berlin time


Introduction to Version Control, Git, GitHub and GitKraken.
Anatomy of a repository.
Creating a local repository and managing changes to a simple project using Git.
Sharing repositories and making changes to content online on Github.
Using markdown and GitHub pages to host a simple webpage on GitHub.
Copying and collaborating on someone else’s GitHub repository through forking and pull requests.


Tuesday 21st February– Classes from 2-6 PM Berlin time

 

Introduction to collaborating on a repository as a team.
Creating and setting up team repositories.
Introduction to GitHub’s issue tracker and assigning tasks to team members through issues.
Resolving issues through branches and pull requests to the main branch.
Reviewing pull requests, requesting corrections and handling merge conflicts.
Demonstration of Continuous Integrations for checking code integrity.

 


Cost overview

 

Package 1

 

                      320 €


Should you have any further questions, please send an email to info@physalia-courses.org

Cancellation Policy:

 

> 30  days before the start date = 30% cancellation fee

< 30 days before the start date= No Refund.

 

Physalia-courses cannot be held responsible for any travel fees, accommodation or other expenses incurred to you as a result of the cancellation.