When you enroll in this course, you'll also be enrolled in this Professional Certificate.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate from Google
There are 4 modules in this course
In this course, you’ll learn how to keep track of the different versions of your code and configuration files using a popular version control system (VCS) called Git. We'll also go through how to set up an account with a service called GitHub so that you can create your very own remote repositories to store your code and configuration.
Throughout this course, you'll learn about Git's core functionality so you can understand how and why it’s used in organizations. We’ll look into both basic and more advanced features, like branches and merging. We'll demonstrate how having a working knowledge of a VCS like Git can be a lifesaver in emergency situations or when debugging. And then we'll explore how to use a VCS to work with others through remote repositories, like the ones provided by GitHub. By the end of this course, you'll be able to store your code's history in Git and collaborate with others in GitHub, where you’ll also start creating your own portfolio! In order to follow along and complete the assessments, you’ll need a computer where you can install Git or ask your administrator to install it for you.
In this module, you'll be introduced to the concept of version control, which will make managing and rolling back your code look super easy. You’ll learn how to differentiate between files and the tools at your disposal to make this happen. Next, you'll be introduced to Git and how you can leverage that platform to improve your coding abilities. Once you’ve got a grasp on what Git is, you’ll install it and start using it to create and clone code repositories. Last up, you’ll deep dive into Git in order to get more familiar with the different tools and commands it has to offer.
What's included
16 videos15 readings4 assignments1 app item
Show info about module content
16 videos•Total 72 minutes
Course Introduction•6 minutes
Intro to Module 1: Version Control•4 minutes
Keeping Historical Copies•2 minutes
Diffing Files•4 minutes
Applying Changes•6 minutes
Practical Application of diff and patch•5 minutes
What is version control?•3 minutes
Version Control and Automation•5 minutes
What is Git?•3 minutes
Installing Git•3 minutes
Installing Git on Windows (Optional)•7 minutes
First Steps with Git•5 minutes
Tracking Files•6 minutes
The Basic Git Workflow•6 minutes
Anatomy of a Commit Message•5 minutes
Module 1 Wrap Up: Intro to Version Control•2 minutes
15 readings•Total 62 minutes
Welcome to the course•4 minutes
Review: Diffing Files•4 minutes
Review: Applying Changes•4 minutes
Review: Practical Application of diff and patch•4 minutes
Study guide: diff and patch•4 minutes
More Information About Git•4 minutes
Installing Git•2 minutes
Review: First steps with Git•4 minutes
Review: Tracking Files•4 minutes
Review: The Basic Git Workflow•4 minutes
Review: Anatomy of a commit message•4 minutes
Study guide: Git•4 minutes
Glossary terms from course 3, module 1•4 minutes
Qwiklabs guidelines and troubleshooting steps•4 minutes
Exemplar: Introduction to Git•8 minutes
4 assignments•Total 80 minutes
Module 1 challenge: Introduction to Git•50 minutes
Test your knowledge: Before version control•10 minutes
Test your knowledge: Version control systems•10 minutes
Test your knowledge: Using Git•10 minutes
1 app item•Total 90 minutes
Qwiklabs assessment: Introduction to Git•90 minutes
Using Git Locally
Module 2•5 hours to complete
Module details
In this module, you’ll dive into advanced Git interactions by skipping the staging area for small code changes, and understand how Git uses the HEAD alias to represent checked-out snapshots. Next, you’ll explore how to move and remove files before finally getting a study guide to help you in your Git explorations! The next step of your learning will include how to undo changes before committing and how to amend commits once they’re submitted. Finally, you’ll be able to identify errors in commits that were submitted a while back. In the final section of this module, you’ll explore the concept of branching and merging. You’ll learn what a branch is, how to create one, and how they work in harmony with you and your code. Once you’re comfortable with branching, you’ll dive into merging, how it works with branched data, and how to deal with merge conflicts.
What's included
14 videos16 readings4 assignments1 app item
Show info about module content
14 videos•Total 58 minutes
Intro to Module 2: Using Git Locally•2 minutes
Skipping the Staging Area•4 minutes
Getting More Information About Our Changes•6 minutes
Deleting and Renaming Files•4 minutes
Undoing Changes Before Committing•5 minutes
Amending Commits•4 minutes
Rollbacks•5 minutes
Identifying a Commit•7 minutes
What is a branch?•3 minutes
Creating New Branches•4 minutes
Working with Branches•3 minutes
Merging•3 minutes
Merge Conflicts•6 minutes
Module 2 Wrap Up: Using Git Locally•1 minute
16 readings•Total 68 minutes
Review: Skipping the staging area•4 minutes
Review: Getting more information from the user•4 minutes
Review: Deleting and Renaming Files•4 minutes
Study guide: Advanced Git•4 minutes
Review: Undoing Changes Before Committing•4 minutes
Review: Amending commits•4 minutes
Review: Rollbacks•4 minutes
Review: Identifying a commit•4 minutes
Study guide: Git Revert•4 minutes
Review: Creating new branches•4 minutes
Review: Working with branches•4 minutes
Review: Merging•4 minutes
Review: Merge conflicts•4 minutes
Study guide: Git branches and merging•4 minutes
Glossary terms from course 3, module 2•4 minutes
Exemplar: Merging Branches in Git•8 minutes
4 assignments•Total 80 minutes
Module 2 challenge: Merging Branches in Git•50 minutes
Test your knowledge: Advanced Git interaction•10 minutes
Test your knowledge: Undoing things•10 minutes
Test your knowledge: Branching and merging•10 minutes
1 app item•Total 90 minutes
Qwiklabs assessment: Merge branches in Git•90 minutes
Working with Remotes
Module 3•5 hours to complete
Module details
In this module, you’ll be introduced to GitHub and learn how it works with Git. You’ll create new repositories and clone those repositories onto your computer. Next, we’ll explain what a remote repository is, how we can work with them, and how we can host them. You’ll get familiar with commands like modify, stage, and commit, which will be used for local changes, as well as the fetch command, which can pull any changes from remote repositories. We'll cover secure shell protocol and when to use API keys. Our final lesson will focus on learning about conflicts. This will allow you to explore the concepts of pull-merge-push workflows, pushing remote branches and rebasing your changes.
What's included
13 videos19 readings4 assignments1 app item
Show info about module content
13 videos•Total 59 minutes
Intro to Module 3: Working with Remotes•2 minutes
What is GitHub?•2 minutes
Basic Interaction with GitHub•6 minutes
What is a remote?•4 minutes
Working with Remotes•3 minutes
Fetching New Changes•3 minutes
Updating the Local Repository•3 minutes
The Pull-Merge-Push Workflow•8 minutes
Pushing Remote Branches•8 minutes
Rebasing Your Changes•5 minutes
Another Rebasing Example•8 minutes
Best Practices for Collaboration•4 minutes
Module 3 Wrap Up: Working with Remotes•2 minutes
19 readings•Total 80 minutes
Review: Basic interaction with GitHub•4 minutes
Study guide: Basic Interaction with GitHub•4 minutes
Review: Working with remotes•4 minutes
Review: Fetching new changes•4 minutes
Review: Updating the local repository•4 minutes
Study guide: Git Remotes•4 minutes
What is secure shell?•4 minutes
The SSH protocol•4 minutes
Configuring SSH•4 minutes
API Keys•4 minutes
When to use API Keys•4 minutes
Public vs. private keys•4 minutes
Review: The Pull-Merge-Push Workflow•4 minutes
Review: Pushing remote branches•4 minutes
Review: Rebasing your changes•4 minutes
Review: Another Rebasing example•4 minutes
Study guide: Conflict resolution•4 minutes
Glossary terms from course 3, module 3•4 minutes
Exemplar: Introduction to GitHub•8 minutes
4 assignments•Total 78 minutes
Module 3 challenge: Introduction to GitHub•50 minutes
Test your knowledge: Introduction to GitHub•8 minutes
Test your knowledge: Using a remote repository•10 minutes
Test your knowledge: Solving conflicts•10 minutes
1 app item•Total 90 minutes
Qwiklabs assessment: Introduction to Github•90 minutes
Collaboration
Module 4•5 hours to complete
Module details
In this module, you’ll continue to explore the collaboration tools available in Git. You’ll learn about the tools that are available to help improve the quality of your code and to better track your code. This includes an overview of pull requests and how the typical workflow of a pull request looks like on GitHub. Next, you’ll dive into how you can squash changes in your code. We’ll finish up by providing you with a study guide on fork and pull requests. Next up, we’ll cover what code reviews are and what the code review workflow looks like. Then, you’ll learn about how to use code reviews on GitHub. The final lesson of this module will focus on managing projects. We’ll take a rundown of best practices on managing projects and how to manage collaboration within those projects. We’ll explore different ways of tracking issues and finish up by discussing the concept of continuous integration with your projects.
What's included
14 videos15 readings4 assignments1 app item
Show info about module content
14 videos•Total 59 minutes
Intro to Module 4: Collaboration•2 minutes
A Simple Pull Request on GitHub•5 minutes
The Typical Pull Request Workflow on GitHub•7 minutes
Updating an Existing Pull Request•5 minutes
Squashing Changes•6 minutes
What are code reviews?•4 minutes
The Code Review Workflow•4 minutes
How to Use Code Reviews in GitHub•5 minutes
Managing Collaboration•4 minutes
Tracking Issues•8 minutes
Continuous Integration•5 minutes
Module 4 Wrap Up: Collaboration•2 minutes
Congratulations!•1 minute
Sneak Peek of the Next Course•1 minute
15 readings•Total 64 minutes
Review: The typical pull request workflow on GitHub•4 minutes
Review: Updating an Existing Pull Request•4 minutes
Review: Squashing changes•4 minutes
Study guide: Git forks and pull requests•4 minutes
Review: How to use code reviews•4 minutes
More Information on Code Reviews•4 minutes
Review: Tracking issues•4 minutes
Integrating git and GitHub•4 minutes
GitHub Project Management Tools•4 minutes
Additional Tools•2 minutes
Glossary terms from course 3, module 4•10 minutes
Exemplar: Push local commits to GitHub•8 minutes
IT skills in action•4 minutes
Reflect and connect with your peers•2 minutes
Course 3 glossary•2 minutes
4 assignments•Total 80 minutes
Module 4 challenge: Push local commits to Github•50 minutes
Test your knowledge: Pull requests•10 minutes
Test your knowledge: Code reviews•10 minutes
Test your knowledge: Managing collaboration•10 minutes
1 app item•Total 90 minutes
Qwiklabs assessment: Push local commits to Github•90 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Grow with Google is an initiative that draws on Google's decades-long history of building products, platforms, and services that help people and businesses grow. We aim to help everyone – those who make up the workforce of today and the students who will drive the workforce of tomorrow – access the best of Google’s training and tools to grow their skills, careers, and businesses.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.8
7,985 reviews
5 stars
82.15%
4 stars
15.07%
3 stars
1.81%
2 stars
0.43%
1 star
0.51%
Showing 3 of 7985
J
JC
5·
Reviewed on Jul 18, 2020
This course is full of priceless information, but at the same time to the point. I reckon I will come back to the videos as I encounter new challenges particularly when collaborating with a team.
S
SP
5·
Reviewed on Jun 17, 2020
This course was really helpful for me. I was having experience with git and github but surprisingly I get to know many new things from this course and instructor is simply awesome and excited!
D
DA
5·
Reviewed on May 6, 2021
Awesome and well balanced course for working professionals. Clear explanations and coverage of typical use case scenarios. The labs were manageable and did not require a lot of time to complete them.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Certificate?
When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.