Introduction to version control with Git

Version control is an essential skill for researchers and software developers working collaboratively or managing evolving projects. This two-day workshop introduces participants to Git, a widely used version control system, and provides hands-on experience with managing code efficiently. The workshop is based on Carpentries training materials and concludes with an introduction to the 4TU.ResearchData repository system.

Course instances:


Learning objectives

By the end of this workshop, participants will be able to:

  • Set up a local Git repository.
  • Understand and apply the Git modify-add-commit cycle.
  • View and interpret a project’s version history.
  • Set up and manage remote repositories using GitHub.
  • Follow best practices for collaboration using Git and GitHub.
  • Familiarize themselves with the 4TU.ResearchData repository for data and software long term deposit.


Syllabus/Curriculum overview

Day 1

  • Morning session (09:30 – 12:30): Introduction to the Unix shell and command line for version control.
    • Navigating files and directories
    • Basic file operations
  • Afternoon session (13:30 – 16:00): Introduction to version control with Git.
    • Creating and managing repositories
    • Tracking changes and committing updates

Day 2

  • Morning & early afternoon (09:30 – 14:30): Advanced Git concepts and collaboration using GitHub.
    • Working with remote repositories
    • Resolving conflicts
  • Afternoon session (14:45 – 16:00): Introduction to 4TU.ResearchData.
    • Overview of the repository system
    • Best practices for software and data sharing


Prerequisites

  • No prior experience with Git is required.
  • Basic familiarity with the command line is beneficial but not necessary.


Target audience

This workshop is designed for:

  • Researchers (PhD, Postdocs,Data stewards, staff members) looking to better manage code and documentation.
  • Researchers (PhD, Postdocs,Data stewards, staff members) interested in collaborative software development.


Instructors

Leila Iñigo de la Cruz


Resources

Participants are encouraged to bring their own laptops for hands-on exercises.