What is version control?
Version control is the process of tracking the changes made to a file over time (typically code, but could be nearly anything). The most popular version control systems today are distributed in nature, allowing for multiple people to easily collaborate on a project together.
Why should I use version control software for my research?
- Ability to revert things that don't work
- Easy comparisons to prior versions
- Remote backup of your source code
- Audit logs track changes made to the file (what was changed, when it was changed, and by whom)
- Efficient collaboration, with the ability to merge changes from multiple users
- Use SSH for Git
- Commit early & often
- Make a .ignore file, and keep things like passwords, secure tokens, and binaries out of your repository
- Use meaningful commit messages
- Perform merges and resolve conflicts as soon as possible
Version Control Options:
GitHub is a Web-based Git repository hosting service. We recommend GitHub for public projects. GitHub is widely used in the academic and open source communities, and provides an easy way for people to find and use your code. GitHub provides access control and several collaboration features such as bug tracking, feature requests, and task management for projects.
We recommend Bitbucket for projects that need to be private. Bitbucket Cloud is free for teams of 5 or less, and provides free private repositories.
If you are looking for local secure version control, there is currently one option. You can make public or private repositories, and manage collaborators.
- Accessible from on campus or through VPN only
- Sign in through Okta