Git Fundamentals – Getting Started with Git and GitHub
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Git Fundamentals – Getting Started with Git and GitHub
This course is part of Complete Git Guide: Understand and Master Git and GitHub Specialization
Included with
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Understand the core concepts of version control and Git workflows.
Install and configure Git across various platforms and environments.
Explore Git’s internal structure, including its object model and hash functions.
Learn how to create, manage, and commit changes to branches in Git.
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- 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
There are 6 modules in this course
In this course, you will master the Git version control system and GitHub, essential tools for modern software development. By the end of the course, you will be proficient in installing and configuring Git on macOS, Windows, and Linux. You’ll also gain a solid understanding of Git’s internal mechanics, including its data structure and object model. You will learn key Git operations, such as tracking project files, committing changes, handling branches, and resolving conflicts.
The course starts with an introduction to Git and GitHub, followed by practical lessons on installation and configuration. As you progress, you’ll gain hands-on experience with basic Git commands, learning how to effectively track and manage files, commit changes, and navigate through your project’s history. You will also explore Git's powerful tools for branching and merging, which are crucial for collaborating on complex development projects. In the later sections, you'll dive deeper into advanced Git concepts, such as hash functions, object management, and efficient branching strategies. This course is ideal for beginners who want to gain a strong foundation in version control and collaborate effectively using GitHub. Whether you are a developer or a student, this course will equip you with the skills and insights necessary to manage your projects efficiently.
In this module, we will introduce you to Git and GitHub, covering their significance in version control and software development. We’ll also distinguish between Git and GitHub, shedding light on their distinct roles. This section will set the foundation for your journey through Git and GitHub, focusing on the core concepts you'll need to understand.
What's included
3 videos2 readings
3 videos•Total 12 minutes
- Introduction to the Specialization•5 minutes
- Section 1 Introduction•1 minute
- Git Versus GitHub•6 minutes
2 readings•Total 20 minutes
- Introduction to the Course 'Git Fundamentals – Getting Started with Git and GitHub'•10 minutes
- Full Specialization Resources•10 minutes
In this module, we will guide you through the installation process of Git on various operating systems, ensuring smooth setups on macOS, Windows, and Linux. Additionally, we’ll configure the shell environment, enhancing your Git experience on macOS with iTerm2 and Zsh for improved terminal functionality.
What's included
6 videos1 assignment
6 videos•Total 33 minutes
- Section 2 Introduction•1 minute
- Installing Git on macOS•2 minutes
- Installing Git on Windows•11 minutes
- Installing Git on Linux•8 minutes
- Installing iTerm2 on macOS•6 minutes
- Installing Custom Z-Shell on macOS•6 minutes
1 assignment•Total 15 minutes
- Installation of Git and Configuration of the Shell - Assessment•15 minutes
In this module, we will introduce you to essential shell commands used in Git workflows, focusing on directory and file management. By the end of this section, you'll be able to navigate the command line, create, copy, move, and delete files—all vital skills for managing your Git repositories.
What's included
4 videos1 assignment
4 videos•Total 28 minutes
- Section 3 Introduction•1 minute
- Shell Commands - Directory Management•10 minutes
- Shell Commands - File Management - Part 1•9 minutes
- Shell Commands - File Management - Part 2•8 minutes
1 assignment•Total 15 minutes
- Basic Shell Commands - Assessment•15 minutes
In this module, we will explore Git’s internal mechanisms, including the object model and the contents of the .git folder. You’ll dive deep into how Git stores and manages data, gaining a comprehensive understanding of objects like blobs, trees, and commits. We’ll also cover Git's use of hash functions to ensure data integrity and prevent collisions.
What's included
29 videos1 assignment
29 videos•Total 151 minutes
- Section 4 Introduction•1 minute
- Initializing a New Git Repository•4 minutes
- Overview of the .git Folder•4 minutes
- Git Object Types•3 minutes
- Writing a New Git Object with a git hash-object•7 minutes
- JSON Versus Git Database•4 minutes
- What is the Hash Function?•4 minutes
- Hash Function Overview•3 minutes
- SHA-1 Hash Function•10 minutes
- How Many Files Can Git Store?•4 minutes
- Probability Theory in a Dice Game•4 minutes
- Git Hash Collision Probability•6 minutes
- More Details on Hash Collision Probability (Optional)•27 minutes
- Exploring Git Objects with the git cat-file Command•5 minutes
- Creating a New Git Blob Based on a File•8 minutes
- Why Git Blobs Do Not Store File Names•3 minutes
- Contents of Git Objects•10 minutes
- What Have We Learned So Far?•2 minutes
- Tree Objects in Git•3 minutes
- Git Object Permissions•2 minutes
- Creating a Git Tree Object•10 minutes
- (Free Preview) Examining Tree Object•5 minutes
- Working Directory, Staging Area, and Git Repository•2 minutes
- Overview of Current File Distribution•4 minutes
- Git Read-tree•4 minutes
- Reading Files in the Staging Area Using git ls-files•2 minutes
- Git Checkout-index•3 minutes
- Number of Folders Created for Objects•2 minutes
- Section Summary•4 minutes
1 assignment•Total 15 minutes
- How Git Works Under the Hood - Assessment•15 minutes
In this module, we will cover the basic Git operations that are essential for version control. From creating your first commit to understanding the file lifecycle, we’ll ensure you are comfortable managing files, making commits, and navigating your Git project. This section lays the groundwork for more advanced Git workflows.
What's included
14 videos1 assignment
14 videos•Total 63 minutes
- Section 5 Introduction•1 minute
- What is a Commit?•4 minutes
- Configuring the Git Author Name and Email•4 minutes
- Creating Your First Commit•4 minutes
- Exploring a Commit Object•6 minutes
- Project's Current State Overview•5 minutes
- Basic Git Commands•4 minutes
- Adding a New File to the Working Directory•6 minutes
- Git Files Lifecycle•9 minutes
- Stage File•2 minutes
- Unstage File using git rm•3 minutes
- Committing Changes•2 minutes
- Exploring Changes in a Git Repository•8 minutes
- Current Diagram of a Git Repository•6 minutes
1 assignment•Total 15 minutes
- Basic Git Operations - Assessment•15 minutes
In this module, we will focus on Git branches and the HEAD reference, which are critical for managing different lines of development. You’ll learn how to create, manage, and switch between branches, as well as explore how these concepts fit into a version control workflow. This section will help you navigate Git’s branching model with confidence.
What's included
16 videos1 reading3 assignments
16 videos•Total 95 minutes
- Section 6 Introduction•1 minute
- Most Common Git Operations•6 minutes
- Project's Current State Overview•1 minute
- Installing GitHub Desktop•4 minutes
- GitHub Desktop Overview•5 minutes
- What is a Branch in Git?•7 minutes
- What is HEAD in Git?•6 minutes
- Third Commit•5 minutes
- Git Repository Changes after a Third Commit•7 minutes
- Checking Out a Specific Commit•14 minutes
- Why Do We Need Branches?•11 minutes
- Git Branches Management•3 minutes
- Creating a New Branch•7 minutes
- Committing Changes in the New Branch•5 minutes
- Exploring Commit in the New Branch•6 minutes
- Why Git Reuses Blobs with the Same Contents?•8 minutes
1 reading•Total 10 minutes
- Conclusion to the Course 'Git Fundamentals – Getting Started with Git and GitHub'•10 minutes
3 assignments•Total 90 minutes
- Full Course Practice Assessment•15 minutes
- Git Branches and HEAD - Assessment•15 minutes
- Full Course Assessment•60 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
Explore more from Software Development
- Status: Free Trial
Course
- Status: Free Trial
Course
- Status: Free Trial
Specialization
Why people choose Coursera for their career
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,
