Git
As stated on the project’s official website git-scm.com,
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Great so this means that here we have a tool that we can use free of charge (even better, we can look at and modify the source code) which allows us to version our projects. Versioning in turn means that we can keep a history of changes made to the project in question. Additionally it is distributed which for practical purposes means that me keeping a history does not depend on the benevolence (or even existence) of some remote server. The following tutorial is intended to
Convince you of Git’s superiority
Teach you to use Git locally to version changes on a local project
Teach you to use Git to collaborate with others on remote projects
We hope that at the end of the day (or at least after the first time Git has saved you from losing your progress) you will accept that it is the best and only way to version anything from your diary to your future company’s software.
- Automated Version Control
- Setting Up Git
- Creating a Repository
- Tracking Changes
- Exploring History
- Ignoring Things
- Remotes in CERN GitLab
- Sharing a repository with others
- Collaborating with Pull Requests
- What is a Pull (or Merge) Request
- Fork the original project repository
- Clone a remote project and its fork
- Sync your local repository with remote changes
- Implement your new feature
- Push changes
- Create a Pull (or Merge) Request
- Discussing, amending, retiring a Merge Request
- Accepting a Pull Request
- The social side of coding
- Automatic testing
- Conflicts
- GitLab CI
- Open Science
- Licensing
- Citation