Author: Scott Campit
So you've been working on some cool visualization pipeline or new machine learning algorithm that can help a bunch of people in lab, is necessary for a programming project, or is the software package you're publishing. You can send the source code files by email or Google Drive. But what if you make changes that make the software even more useful. And even worse - other people have also contributed to your code, creating several versions of the same file. How can you compile all of these different file versions to one (hopefully) working script?
Git. And GitHub.
These version control tools allow teams of people to manage changes in source code over time. Anyone can download the latest version of your project. Also, anyone can upload their improvements on your project, making it super easy to share code. Finally, it save your code as you add onto this database, so if you or your teammates introduce bugs into the source code, you can re-wind the clock and download the latest working version.
These are just a few of the many positive aspects of version control. For a more in-depth discussion, you can read the official documentation (which I highly encourage you to do), but this repository is meant to be a functional guide to quickly using Git and GitHub for your research project.
There are so many introductory tutorials for using Git and GitHub. This can be daunting to read through, compile, and quickly apply to research projects. My goal is to create a concise, step-by-step resource for maintaining your software projects on GitHub.
If you have suggestions for improving this tutorial, read more on raising an Issue or submitting a Pull Request.
- A free course on Udacity to get started using Git and GitHub
- Some tools and workflows to enhance your GitHub experience
- A useful cheatsheet for writing in Markdown
- Holy crap, GitHub browser extensions!