GitHub and Git for research and teaching
GitHub is an online platform where you can develop, control and publish code, software and other documents. This platform is rapidly gaining in popularity among the research and teaching community. Software developers have already been using GitHub for some time. Utrecht University is offering its employees the opportunity to get more out of GitHub through a special web page: Utrecht University · GitHub
What is Git?
Git is software that allows you to control versions of your scripts and files in detail. It also makes it easier to work together on projects and conduct new ideas independently. This makes the Git technology potentially highly useful for research projects. You can install the Git software locally (on your own computer). To work together, you will mostly use an online Git platform, such as GitHub.
What is GitHub?
GitHub, which is based on Git’s version control technology, makes working together easier. It offers a straightforward way to share your projects online with colleagues and the outside world. GitHub is useful for researchers, as it allows you to find, develop and publish analysis scripts and research software. Other developers and researchers can then use and adapt these in turn. You can create a free GitHub account at https://github.com/join. This is the first step towards gaining access to Utrecht University’s GitHub environment.
What is github.com/UtrechtUniversity?
GitHub provides organisations with their own organisation accounts. The Utrecht University account can be found at github.com/UtrechtUniversity. The advantage of this Utrecht University platform is that users have more options to collaborate (e.g. by creating teams), more free resources, and improved security. Besides those benefits, it can also be a great way to make your research code or software more visible. All researchers and employees at Utrecht University can make use of the Utrecht University platform and publish their work on the organisation account.
At Utrecht University we have a strong focus on making our research reusable. GitHub is an excellent tool to make sure your work is FAIR. Do you want to connect to Utrecht University’s GitHub platform? Then follow this step-by-step instruction https://github.com/UtrechtUniversity/getting-started.
Skills you need to use GitHub
To be able to use GitHub, you need to create a GitHub account and install the Git software on your computer. You can create a GitHub account easily at github.com/join. First-time Git and GitHub users can start by installing GitHub Desktop and following the GitHub QuickStart. The Git software is included with many well-known and established software development programmes, such as RStudio and Visual Studio. There are many useful tutorials on the internet about how to use GitHub. One of them is the great HappyGitWithR tutorial by Jennifer Bryan.
Publishing code and software
Publishing research code and software allows for the verification and detailed exploration of your findings, and it facilitates further research; well-written code can be re-used and even built upon as a scientific product in and of itself. Publishing research code and software also involves topics like software quality, licenses, and persistent identifiers. Read the guide on Publishing code and software for more information.
Would you like to know more?
- To find out how to use GitHub in your research, read the Getting started with GitHub at Utrecht University manual for easy access to the GitHub environment.
- You can find a list of FAIR code and software projects developed by Utrecht University employees at https://github.com/UtrechtUniversity/awesome-utrecht-university. These can serve as an inspiration or an example.
- To find out more about using GitHub or software development as daily practice, obtain a free consultation from the Research Engineering team.
- If you already have some programming experience (e.g. in R, Matlab or Python) and want to find out more about GitHub, high-quality code and reproducible working methods, sign up for the Best Practices for Writing Reproducible Code training course.