Git is a free and open-source version control system. It’s an essential tool for any developer around the world, including robotics developers. In this course, you’ll learn the basics to start using Git and GitHub for developing your robotics projects.
Why Git and GitHub?
Git has established itself as the most commonly used version control system. As such, it tracks all relevant changes made to files over time so you can keep different versions, compare them, combine parts, and much more. As if that’s not enough of a reason to embrace it, online hosts, such as GitHub, are a must if you want to collaborate with others on a project and develop software as a team.
What You Will Learn
How to put an existing project under version control
Basic commands such as staging, commits, logs, & more
More advanced concepts like branching and merging
How to upload, use and keep remote changes in sync with GitHub
How to work with pull requests, code reviews, merge conflicts and issues
Approx. 10 hours to complete
Simulated Robot Used
autonomous_buddy is a mobile robot model of cuboidal base, differential drive kinematics, and two caster wheels. It is an imaginary robot that lives and exists only in a simulated world.
Course Final Hands-on Project
For the final project, you will go through the process of submitting a pull request to an external project. You will contribute to someone else’s repository. We have specially created a practice repository for you to contribute to.
Unit 1: Course Introduction
This unit is an introduction to the Git and GitHub course. In this unit, you will:
- Have an understanding of some of the challenges in software development that go beyond writing code
- Understand how version control enables you to address some of these challenges
- Get an overview of the subjects that will be covered in the remaining units
- See a few Git commands in action
Unit 2: Git Basics
In this unit, you will master the basics of Git. And while this unit still comprises a considerable amount of theory to be covered, the main focus of this course is on you collecting practical experience using Git. For instance, you will:
- Learn how to start using Git on a project that is not currently under version control
- Follow along with many practical examples that will show you how to keep track of the different project versions
- Gain an understanding of key concepts that make up Git: a working area, staging area, and repository
- Get acquainted with all the commands you need to know to start using Git on personal projects
- Layout the foundations to continue to learn intermediate and advanced topics in the units to come
Unit 3: Branches
In this unit, you will expand the basic skill sets that you developed in the previous unit to more intermediate concepts like branching and merging.
Branches are one of the most important functionalities included in Git. For instance, they allow you to add features to resolve a bug in a project without mixing up code from one task with another. Likewise, branches are one of the most important elements developers use to effectively collaborate with other team members on a project.
We will start this unit by illustrating the concept of branches and discussing how they can help with daily coding tasks. Then, over the next few sections, we will go over important commands for creating, viewing, switching, comparing, and merging branches. All sections are practice-oriented, so you’ll be gaining a lot of hands-on experience.
By the end of this unit, you’ll have a solid understanding of how to work with branches using Git, essential in your next unit when we get into more advanced concepts related to team collaboration.
Unit 4: Git and GitHub for Team Collaboration
In this unit, you will learn how to use Git and GitHub to collaborate on software projects with other developers.
You learned how to work with branches. First, you saw how branches create an isolated workspace for writing code, then you learned how to merge a branch to the project’s main branch. You have already learned the most important tools required for collaborative project work!
In this unit, you’ll learn an additional tool, namely GitHub. Starting with the basics, you’ll be introduced to a remote code repository and how to set up one using GitHub. Next, you will learn more advanced topics such as making, reviewing, and merging pull requests.
What our students think
“I am wholeheartedly grateful for this outstanding opportunity. I wouldn’t have found a better ROS beginner-friendly course elsewhere. Thanks, ConstructSim !“
“I have tried to start learning ROS before and that was so difficult because I didn’t understand how to start, now with these introductory courses I am very excited because I can finally start to enter this world.“
“I really enjoy the practical aspect and learning by doing. I feel like I learn way faster and with a rich understanding.”
Robotic Software Engineer @ The Construct / Creator of ROS courses / Instructor for the ROS2 live training program