support@coderefinery.org
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 branch
shows the same output as git branch --list
git branch --list
). I personally use
git branch
to see local branches that I only have locally, and
git branch -r
or git branch --remote
to see remote
branches. There is also git branch -a
or git branch --all
to
see both local and remote branches.git pull
to 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)git push
commandmaster
branch. After merging PR, it’s
safe to delete the feature branch (PR = pull request :-)git rebase -i
for more.featureA
is 4 commits ahead
of master
, and there are no new commits on master, merging can
take place by “fast-forwarding” master
git fetch
fetches commits that you do not have locally but does
not modify any local branchesgit pull
fetches and modifies your current branch, which does
not have to be master
Funding
CodeRefinery is a project within the Nordic e-Infrastructure Collaboration (NeIC). NeIC is an organisational unit under NordForsk.