Hands-on informal and interactive online half-day event with type-along type of presentations, live coding and demos. Short tutorials alternate with practical exercises.
The aim of this course is to demonstrate to and familiarize the workshop participants with best practices and tools for version control in modern research software development. The main focus is on using Git for efficiently writing and maintaining research software.
Please follow the links below and make sure that you install all the required software packages (why we ask you to do this). Note that, e.g., a working Python executable on your laptop is not sufficient - a version greater than 3.4 is strongly recommended and a number of extra packages need to be installed as detailed on the Python installation page.
Online Zoom room.
Free of charge.
Are you doing any of these things below:
If yes, then this course is for you. Most participants are not “professional code developers” or computer scientists.
If you develop research code and you know all the tools already, join us as a helper! It’s fun, and you always learn something new about a subject by teaching it.
This is not a course about a specific programming language or the Linux/Unix terminal shell. We assume that you are familiar with the programming language that you use in your work and research. We try to keep the course as language-independent as possible but we will show some basic code examples in Python.
git branchshows the same output as
git branch --list
git branch --list). I personally use
git branchto see local branches that I only have locally, and
git branch -ror
git branch --remoteto see remote branches. There is also
git branch -aor
git branch --allto see both local and remote branches.
git pullto update local repository with changes that happened in a remote repository. It is a 2 step process (fetch + update)
Is there a security advantage when using a SVN-like repository compared to a distributed git-repository? (As in not everybody owns the full history, or others?)
git reset(so that the sensitive information is lost forever and not still there in git history)
masterbranch. After merging PR, it’s safe to delete the feature branch (PR = pull request :-)
git rebase -ifor more.
featureAis 4 commits ahead of
master, and there are no new commits on master, merging can take place by “fast-forwarding”
git fetchfetches commits that you do not have locally but does not modify any local branches
git pullfetches and modifies your current branch, which does not have to be