Beginners guide to version control with git
This is a beginner friendly introduction to making open, version-controlled, and collaborative projects using git and GitHub.
Description: Version control is the management of changes to documents, computer programs, and other collections of information. Changes are usually identified by a number named the "revision number". Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.
Github is a free and open source platform that can help you build projects that are collaborative, well documented, and version-controlled. In this workshop we will introduce you to the GitHub ecosystem and help you get you comfortable navigating basic GitHub workflows. We will make sure that you leave the workshop aware of the best practices for developing projects on GitHub (e.g. writing a good “readme” or posting and labelling issues) and an understanding of how GitHub can help make your projects more readable and accessible.
This workshop is developed for anyone looking for a solution to making projects – whether it be your research on arctic glaciers, the materials for an undergraduate course, your PHD thesis, or even a cookbook – more manageable. You don't have to share your work with others or collaborate with anyone, although you'll learn how this can be achieved with ease.
This workshop is geared towards all skill levels, but first-time and novice users are encouraged and prioritised.
Learning Objectives & Takeaways
At the end of the workshop, we hope you will feel acquainted and/or comfortable with:
- Github as:
- Social platform - collaboration, coordination, and contributing
- Time machine - track project and go back
- Documentation & sharing platform
- Project development platform
- Basic Github Workflows:
- Working individually with commits, issues, branching, and merging using git
- Working collaboratively with issues, forking & pull requests
Why are we teaching GitHub?
Git/GitHub can enable projects of any size (from individuals up to organizations and companies) to develop in a way that is well managed, readable, and many cases, accessible and open source. GitHub is allowing professors to share their course materials online, scientists to share their analyses and data, startups to build new technologies, and governments to share data - it is enhancing our ability to do work, better.
At the Mozilla Science Lab - and within The Turing Way community - we use GitHub as a platform to share knowledge, build communities, and make science as open and accessible as possible. We hope you will use GitHub as well to make better projects.
What is "open" research?
Whether you're studying the human genome, black holes, deep sea ecology, medieval music, or alternative energy sources, research is a practice and process of learning, and creating knowledge. Researchers always build on (or transform) an existing understanding of the world. A researcher working open shares insights or discoveries freely, makes her data available on the web, or makes the details of a new experimental technique or tool public so others can use and reuse it. By working open, she empowers fellow researchers and furthers our collective knowledge... knowledge that can be used to solve problems, save lives, and inspire and amaze us all. The more data, knowledge, methods, tools and skills made widely and openly available to all, the better.
What's Mozilla Science Lab??
At Mozilla Science Lab we help scientists and researchers (anyone from students to established researchers to citizen scientists) to work openly and do better research, more research, and make that research more useful by sharing it widely.
We provide various types of trainings (such as this Workshop), learning materials and formats (such as Mozilla Study Groups), platforms for sharing and showcasing open Science projects (such as MSL Collaborate), and support for leaders in open science (through the Mozilla Fellows for Science.
Note added in April 2021. The Mozilla Science Lab doesn't exist any more, but it was a huge inspiration for projects such as The Turing Way, Openscapes, Open Life Science and many others. We remain deeply endebted to the fantastic team who created so many open resources to help to change the world to make it more inclusive.