This course will give you a solid understanding of the principles and practices of applying Version Control with Git. You’ll learn to
- setup Git on your computer and create a repository;
- perform everyday Version Control operations (checking in, checking out, diffing, branching, merging);
- create a remote repository on GitHub and synchronise it with your local repository; and
- how to use Git as an effective collaboration tool.
After this course you’ll be familiar with how Git works and primed to start using it on your own projects.
Who should attend?
Version control is an indispensable tool that anybody who creates content on a computer (for example, source code, documents, presentations or web sites) should be using.
- Why Version Control?
- Version control systems
- Git: A short history
- Setting Up Git
git config— creating an identity
- Creating a Repository
- Quick tour of
- Committing to the Repository
git add— adding files to the staging area
git commit— moving files from the staging area to the repository
- Writing a good commit message
- Ignoring files with
- Tracking Changes
git log— browse commit messages
- Retrieving from the Repository
- Referencing commit using a hash
- What’s a “detached HEAD”?
- Creating a branch
- Switching between branches
git log --graph— visualising branches
- Merging a branch
- Managing merge conflicts
- Deleting a branch
- Git as a Tool for Collaboration
- Remote Repository
- What’s the deal with remotes?
- Using GitHub, GitLab or BitBucket
git clone— cloning a Remote Repository
- Clone versus fork?
git remote— adding and removing a remote
- Command Line versus UI
Why should I learn to use Git?
- Using Git will mean that you have a complete history of revisions (and the ability to revert to older versions if something breaks or you change your mind).
- Free backups.
- Enables effective collaboration. Pull requests allow developers to request to have their branches merged into the master branch while allowing project leads to keep track of new changes.
- Branches allow developers to work on something new (and see exactly how it’ll work/look within the existing project) while ensuring that the master branch always contains production-quality work.
- “This project is huge! I don’t know where to start!” Git will help train your brain to break down a big project into smaller bite-sized, committable, chunks. This will help you devise a better, less overwhelming game plan.
- Install Git.
- Install the Putty SSH client (only Windows users).
- Create an account on GitHub.
- Watch Git & GitHub Crash Course For Beginners. Don’t worry about the details. This is just to get a flavour of what Git is about.
- Read the paper “Excuse me, do you have a moment to talk about version control?” by Jennifer Bryan.
- Why is version control important, and how does Git manage version control?
- Why is Git particularly useful for developers working with R?
- What is one of the biggest problems with using Git and GitHub for collaboration?
Interactive course material
Our training emphasises practical skills. So, although you’ll be learning concepts and theory, you’ll see how everything is applied in the real world as we work through examples and exercises based on real datasets.
We like questions!
Having a firm understanding of the course content will result in you being able to confidently apply your new skills thereafter. So, if at any point you’re unsure of something, just ask!
Contact us at firstname.lastname@example.org if you have any questions.