Free ebook on Git and GitHub: master version control, branches, commits, pull requests, collaboration, and secure workflows.
Free ebook + audiobook content
-
Introduction to code versioning
+ Exercise: Which of the following statements about code versioning is true according to the text provided? 4 minutes -
What is Git?
+ Exercise: Which of the following statements about Git is true? 3 minutes -
Benefits of code versioning
+ Exercise: Which of the following is a benefit of code versioning highlighted in the text above? 5 minutes -
Git vs other version control systems
+ Exercise: Which of the following statements about version control systems is true based on the text provided? 4 minutes -
Installing Git on different operating systems
+ Exercise: What is the correct command to install Git on an Ubuntu operating system or Debian derivatives? 4 minutes -
Initial Git Setup
+ Exercise: What is the correct command to configure your username in Git? 4 minutes -
Understanding the three states of Git: Modified, Staged and Committed
+ Exercise: Which of the following Git commands is used to move a file from the "modified" state to the "staged" state? 5 minutes -
Creating your first Git repository
+ Exercise: Which command is used to start a new local Git repository after creating a folder for the project? 5 minutes -
The lifecycle of files in a Git project
+ Exercise: Which of the following commands is used to move a file from the "Modified" state to the "Staged" state in a Git project? 4 minutes -
Working with local repositories: add, commit, status, log
+ Exercise: Which of the following Git commands is used to add changes from all files in the current directory and subdirectories to the index, preparing them for the next commit? 4 minutes -
Using .gitignore to ignore files
+ Exercise: What is the purpose of the `.gitignore` file in Git? 5 minutes -
History view: diffs and logs
+ Exercise: Which of the following statements about using the `git log` command in GIT is correct? 4 minutes -
Undoing local changes: revert and reset
+ Exercise: Which of the following statements about the `git revert` and `git reset` commands is correct? 5 minutes
-
Branching: what are branches?
+ Exercise: Which command is used to create a new branch in Git and what is the subsequent procedure to switch to this new branch? 6 minutes -
Creating and experimenting with branches
+ Exercise: Which command is used to create a new branch in Git and immediately switch to it? 5 minutes -
Merging: integrating branches
+ Exercise: Which of the following statements about the merge process in Git is true? 4 minutes -
Resolving merge conflicts
+ Exercise: What is the best practice for preventing merge conflicts when working with Git and GitHub? 5 minutes -
Rebasing: alternative to merge
+ Exercise: What is the main advantage of using the `rebase` command instead of `merge` in the Git version control system? 4 minutes -
Stashing: saving changes temporarily
+ Exercise: Which of the following Git commands is used to temporarily save local changes to an area called "stash"? 4 minutes -
Working with tags
+ Exercise: Which command is used to check the information of a tag noted in GIT? 4 minutes -
Git Alias: creating shortcuts for commands
+ Exercise: Which of the following statements about Git aliases is correct? 5 minutes -
Reflog: retrieving data with reflog
+ Exercise: What is the function of the `git reflog` command in Git? 4 minutes -
Git Hooks: automating tasks
+ Exercise: Which of the following statements about Git Hooks is correct? 5 minutes -
Git Internals: understanding .git
+ Exercise: Which of the following files or directories is responsible for storing specific Git repository settings? 5 minutes -
Deep dive into Git branch and merge strategies
+ Exercise: Which of the following statements about branches and merge strategies in Git is correct? 4 minutes
-
Introduction to GitHub
+ Exercise: Which of the following statements about GitHub is true, according to the text provided? 5 minutes -
Creating a GitHub account
+ Exercise: What is the first step to getting started with GitHub, according to the text "Creating a GitHub Account"? 4 minutes -
GitHub Interface Overview
+ Exercise: Which of the following correctly describes a feature available in the GitHub interface as explained in the text? 5 minutes -
Creating repositories on GitHub
+ Exercise: Which of the following statements about creating repositories on GitHub is correct? 4 minutes -
Cloning GitHub repositories
+ Exercise: What is the correct command to clone a GitHub repository, as per the instructions provided in the text? 5 minutes -
Pushing changes to GitHub: git push
+ Exercise: What is the role of the `git push` command in the context of working with Git and GitHub? 5 minutes -
Pull Requests: contributing to projects
+ Exercise: Which of the following statements about the Pull Request (PR) process on GitHub is correct? 4 minutes -
Forking: creating your own copy of the repository
+ Exercise: What is the purpose of forking a repository on GitHub? 4 minutes -
Fetch and Pull: updating local repositories
+ Exercise: What is the purpose of the `git fetch` command in Git? 5 minutes -
GitHub Issues: tracking issues
+ Exercise: Which of the following statements about GitHub Issues is correct? 4 minutes -
GitHub Actions: automation with CI/CD
+ Exercise: Which of the following components is NOT one of the main elements of GitHub Actions as described in the text? 5 minutes -
GitHub Pages: hosting static pages
+ Exercise: Which of the following statements about GitHub Pages is true? 4 minutes -
Branch Protection and Pull Request Reviews
+ Exercise: Which of the following is NOT a branch protection feature on GitHub? 4 minutes -
GitHub Integration with External Tools
+ Exercise: Which of the following benefits is an advantage of integrating GitHub with external tools, as mentioned in the text above? 4 minutes -
Using Markdown for documentation on GitHub
+ Exercise: Which of the following statements about using Markdown on GitHub is true? 5 minutes -
Project Management with Kanban on GitHub
+ Exercise: Which of the following principles is not mentioned as one of the core principles of Kanban in the context of managing projects with Kanban on GitHub? 4 minutes
-
Collaboration on open-source projects
+ Exercise: Which of the following statements about collaboration on open-source projects using GIT and GitHub is true? 4 minutes -
Branching strategies like Gitflow
+ Exercise: Which of the following statements about Gitflow is correct? 4 minutes -
Contribution Policies: CONTRIBUTING.md
+ Exercise: Which of the following elements is NOT mentioned as a component that must be included in the CONTRIBUTING.md file? 4 minutes -
Open Source Licenses and GitHub
+ Exercise: Which of the following statements about open source licenses is true according to the text provided? 5 minutes -
Security on GitHub: Tokens, SSH and GPG keys
+ Exercise: Which of the following statements is true about security practices at GitHub? 4 minutes -
Privacy and access control on GitHub
+ Exercise: Which of the following statements is true about access control on private repositories on GitHub as described in the text? 5 minutes -
Git LFS: Large File Storage for large files
+ Exercise: What is the command used to specify which file types should be tracked by Git Large File Storage (LFS)? 4 minutes -
GitHub API for automation and integration
+ Exercise: Which of the following statements about the GitHub API is correct according to the text provided? 5 minutes -
Using GitHub Desktop and GUI tools
+ Exercise: Which of the following statements about GitHub Desktop is correct? 5 minutes -
Contributing to private projects
+ Exercise: Which of the following statements about contributions to private projects on GitHub is correct? 5 minutes -
Migrating to Git/GitHub from other systems
+ Exercise: Which of the following steps is NOT part of the preparation process for migrating from other version control systems to Git/GitHub? 4 minutes -
Working as a team with Git and GitHub
+ Exercise: Which of the following statements about the use of Git and GitHub in software development teams is correct? 4 minutes
-
Best practices for commits and commit messages
+ Exercise: Which of the following statements best reflects one of the best practices for commits and commit messages as per the text provided? 4 minutes -
Code review and code ownership
+ Exercise: Which of the following is a benefit of code review as described in the text about "Code Review and Code Ownership in the Context of GIT + GitHub"? 4 minutes -
Strategies for synchronizing forks
+ Exercise: What is the first step to syncing your fork with the original repository on GitHub? 4 minutes -
Backups and mirroring of repositories
+ Exercise: Which of the following statements about backing up and mirroring GIT and GitHub repositories is true according to the text provided? 4 minutes -
Code analysis with GitHub: code scanning
+ Exercise: Which of the following statements about GitHub Code Scanning is true from the text provided? 4 minutes -
Using GitHub for Dependency Management
+ Exercise: Which of the following statements about dependency management on GitHub is true? 4 minutes -
Advanced themes in Git: submodules and subtrees
+ Exercise: Which command is used to add a submodule to a Git repository? 5 minutes -
Common FAQs about Git and GitHub
+ Exercise: What is the fundamental difference between Git and GitHub as described in the common FAQs? 9 minutes -
Collaborative workflows: Rebase vs. Merge Workflows
+ Exercise: Which of the following statements best describes the difference between the `rebase` and `merge` commands in the context of Git? 4 minutes -
Summary and best practices using Git and GitHub
+ Exercise: Which of the following statements is true about using Git and GitHub? 5 minutes -
Additional Resources for Continuous Learning
+ Exercise: Which of the following resources is NOT mentioned in the text as a way to continue learning about GIT and GitHub? 4 minutes
About the free ebook with audio
Code Versioning with Git + GitHub
This free ebook introduces practical code versioning for developers who want to track changes, protect their work, and collaborate confidently. Learn how Git records project history locally and how GitHub helps teams share repositories, review contributions, and automate workflows.
Build reliable version-control habits
Start with Git installation and configuration, then work through repositories, commits, status checks, logs, diffs, ignored files, and recovery options. The ebook explains the three Git states—modified, staged, and committed—so you can understand what happens before each commit.
Work safely with branches and history
Practice creating branches, merging work, resolving conflicts, rebasing, stashing changes, tagging releases, and using reflog to recover lost references. You will also explore aliases, hooks, Git internals, and advanced approaches such as submodules and subtrees.
Collaborate with GitHub
Use GitHub repositories for cloning, pushing, fetching, pull requests, forks, issues, project boards, documentation, and open-source collaboration. Discover practical workflows for code reviews, branch protection, contribution policies, licenses, private projects, and synchronized forks.
Apply secure, team-ready practices
Learn how to use tokens, SSH, GPG keys, privacy controls, Git LFS, backups, repository mirroring, dependency management, code scanning, and API integrations. The ebook also covers GitHub Actions, GitHub Pages, GitHub Desktop, and GUI tools.
What you will gain
- A clear understanding of Git repositories and commit history
- Confidence working with branches, merges, and pull requests
- Practical collaboration patterns for team and open-source projects
- Security and maintenance practices for GitHub repositories
Use this ebook as a hands-on reference for building a cleaner, more traceable development workflow with Git and GitHub.
What is the difference between git pull and git fetch?
git fetch downloads remote updates; git pull downloads them and integrates them into your current branch.
How can I recover a deleted commit in Git?
Use git reflog to find the previous commit reference, then restore or create a branch from it.
When should I use rebase instead of merge?
Use rebase to create a linear local history; use merge when preserving the branch history is important.
This ebook/audiobook includes:
5 hours and 18 minutes of audio content
Digital certificate of course completion (Free)
Exercises to train your knowledge
100% free, from content to certificate
Ready to get started?
In the app you will also find...
Over 5,000 free courses
Programming, English, Digital Marketing and much more! Learn whatever you want, for free.
Study plan with AI
Our app's Artificial Intelligence can create a study schedule for the course you choose.
From zero to professional success
Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.
You can also use the QR Code or the links below.



















