Although git was created as a decentralised way to collaborate, the practical needs of day-to-day work have pushed most of us to use it through a centralised platform (generically called a “forge”), of which the most common is Microsoft’s GitHub.
Format
Interactive online workshop
Audience
This workshop is for people who use GitHub to collaborate on code, writing or similar projects, and who would like to learn more about what alternatives are available. It’s especially aimed at researchers and research software engineers.
Prerequisites
Familiar with solo or collaborative workflows using git to track revisions of software or documents
Reasonably comfortable doing simple file management (move, copy, delete) and git operations (commit, push, pull/merge) in the terminal
(Optional but recommended) An active GitHub account (oh, the irony…)
Learning objectives
After attending this course you will be able to:
Understand the relationship between Github and other forges, and their pros and cons
Evaluate software development forges according to the needs of your project & workflow
Identify different tools, both integrated and separate, which can replace some or all of the functionality of GitHub
[Maybe] Use mechanisms for collaboration without using any forge, such as email or direct SSH
[Maybe] Install and use one or more alternative (non-git) version control tools well enough to evaluate their usefulness to your work
Why am I teaching this course?
I (Jez) have been using version control software (VCS) since the days of CVS and Subversion, and still get a kick out of experimenting with and learning about new and old VCS. I don’t expect everyone to share my level of enthusiasm, but I do believe VCS is such a central tool in our collaborative toolbox that knowing a little more about them can be extremely useful.
Danny Garside