The Complete Git & GitHub 2020 Course: Beginner to Advanced
4.7 (48 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
355 students enrolled

The Complete Git & GitHub 2020 Course: Beginner to Advanced

A Full 2020 Practical Guide to Git and GitHub, From Beginner to Expert in Easy Step-By-Step Tutorial
4.7 (48 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
355 students enrolled
Created by Fettah Ben
Last updated 6/2020
English [Auto]
Current price: $129.99 Original price: $199.99 Discount: 35% off
19 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 7.5 hours on-demand video
  • 3 articles
  • 3 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Git server administration including setup, user management, and access control for both SSH and HTTP access.
  • Use Git and GitHub efficiently to create and manage your personal and professional projects
  • Create and Manage repositories, pull requests, branching and merging, forking, labels, and much more.
  • Engage the team, work with others, and walk through real-world scenarios.
  • Master the everyday basics of Git with a hands-on, step-by-step project
  • Dive deep in GitHub's main features, including pull requests, issues, Webhooks, wikis, Project setting and much more
  • Basic computer skills
  • Basic Command Line skills
  • All Needed Software Are Available For Free

Learn the fundamentals of Version Control through this step-by-step tutorial that will teach you the ins-and-outs of Git. This course is your complete guide to how Git and GitHub work in a professional team environment.

Git is a free and open source Distributed Version Control System (DVCS) designed to handle everything from small to very large projects with speed and efficiency.

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, pull request, tagging 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.

Then, we'll explore why GitHub is such a powerful and popular tool among software developers, project managers, team members, designers, and students for its flexibility and control. You’ll see how to manage a software project, and how to utilize Git and GitHub to work effectively as a team.

Finally you’ll examine how to plan, follow and execute a project with Git and GitHub, and then apply those concepts to real-world situations.

What You Will Learn

The course is designed to teach you:

  • How to Install and configure Git.

  • Create and Manage Git repository and Git workflows.

  • Track changes, work with branches, Pull Request and tags.

  • Create, Configure and Manage GitHub Repository.

  • Navigate, Use, and Contribute to open source projects though GitHub.

  • Working with teams on GitHub Projects.

  • And more …

Once you have completed the course, you should be able to immediately start using Git and GitHub to manage your own code.

PS: Check the Free Preview videos to know more about the course and to be sure you can get accustomed to my accent.

Enroll now!

Who this course is for:
  • Software engineers, developers, programmers new to Git and GitHub.
  • IT Managers and System administrators who want to implement and manage there own Git server.
  • Anyone interested in using source control and specifically Git with GitHub Server
Course content
Expand all 124 lectures 07:29:33
+ What Is Git & GitHub & Why You Should Learn them
9 lectures 33:50

Welcome to Git and GitHub Course.

Preview 01:57

Git is a distributed version control tool that can manage a development project's source code history, while GitHub is a cloud based platform built around the Git tool.

What Is Git & GitHub

The concept of a centralized system is that it works on a Client-Server relationship. The repository is located at one place and provides access to many clients. Whereas, in a Distributed System, every user has a local copy of the repository in addition to the central repo on the server side

Centralized vs Distributed Version Control Systems

Your Feedback is Important for this Git and Github course.

Your Feedback is Important

Git simplifies the process of working with other people and makes it easy to collaborate on projects. Team members can work on files and easily merge their changes in with the master branch of the project. This allows multiple people to work on the same files at the same time.

Why You Must Learn Git

List of Different Advantages of using Git

Advantages of Git

Here our top list of Git and GitHub references with their definitions so that you can impress the pants off your technical team at your next development WIP.

A Summary of Terms and Definitions About Git and GitHub

Explanation of different Git Terms used in the course

Git Terms: Explained

Notes and Rules to Follow  when using Git and GitHub

Important Notes Before Using Git and GitHub
+ Welcome to GitHub Development Platform.
3 lectures 10:54

Simply visit, choose a user name that isn't already taken, provide an email address and a password, and click the big green “Sign up for GitHub” button.

Signing up for a new GitHub account

Learn how to create a GitHub repository, and make your very first commit

Creating Your First GitHub Project

Create sophisticated formatting for your prose and code on GitHub with simple syntax.

All About Readme File of GitHub
+ Installation of Git on Linux, Mac and Windows
5 lectures 12:34

Before you can use Git, you have to install and do some basic configuration changes.

Git Downloads for Windows, Linux And Mac OS

Now that you have downloaded Git, it's time to start using it on Windows.

Install Git on Windows
Install Git on Linux and Unix
Install Git on Mac OS

cmder is software package that provides great console experience even on Windows.

Using Cmder Console Emulator
+ The Basics of Using Git
9 lectures 23:01

Find out how to clone remote repositories from popular sites such as GitHub onto your local system. We will clone over HTTPS, and show you what you get when you clone a project.

Preview 01:56

Learn how to add files and folders to a project that git will track.

Create the Main Structure of the Project

Use the status command with git to find out details about your current project's state. This will help you track your staged and unstaged files, and show you changes that are waiting to be committed.

The Status of Your Project

Add the new files of your project to the staging area.

Tracking The New Files of Your Project

When working with Git, it is quite common for developers to add all the files to your index in order to prepare them for commit.

However, in some cases, you may want to remove files from the index, in other words, you want to unstage files.

Unstage Files Using Git Reset and Git Restore

The first thing you should do when you install Git is to set your user name and email address. this lecture will do the email and next will see how we can do it exactly

Setting Your Commit Email Address in Git

Now that you have items added to your repository, you will need to commit the changes to your project.

How To Git Commit With Message

The . git folder contains all the information that is necessary for your project in version control and all the information about commits, remote repository address, etc.

Inside Git: (dot) Git directory

Find out how easy it is to push local changes to a remote repository.

Pushing Commits to Remote Repositories
+ Managing Your Work on GitHub Website
8 lectures 37:42

Check the Result of your first push from Git to GitHub on your project.

Preview 03:12

You can trace changes to lines in a file and discover how parts of the file evolved over

Committing And Reviewing Changes To Your Project

A fork is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project.

Copying A GitHub Repository by Forking

Deleting a repository. You can delete any repository or fork if you're either an organization owner or have admin permissions for the repository or fork.

Delete a GitHub Repository

You can invite users to become collaborators to your personal repository.

Inviting Collaborators To a Personal Repository

Edit and update files in your project then push the update to GitHub repository.

Update Files In Your GitHub Project

All the collaborators on GitHub project can edit files in relation about the permission they have.

Editing Files As a Collaborator on GitHub Project

The git pull command is used to fetch and download content from a remote repository and immediately update the local repository to match that content

Pull Changes From Remote Repository
+ Everything About Git Configurations
10 lectures 35:34

Git uses a username to associate commits with an identity. The Git username is not the same as your GitHub username

Setting your Globally Username and User-email in Git

Git uses a username or user email to associate commits with an identity. This config will be associate with your project repository only.

Setting your Locally Username and User-email in Git

Git config: list all variables and their default values.

List all Variables Set In Config File

Where system, global and local Windows Git config files are saved

Global and Local Windows Git Config Files

Changes an existing remote repository URL

Preview 02:08

How to colorize git-status output.

Different Colors For Different Git Status

Use a text editor to open and edit your files with Git.

Associating Text Editors with Git

You can configure Git to ignore files you don't want to check in to GitHub.

Ignore Certain Files in Git

You can also create a global .gitignore file to define a list of rules for ignoring files in every Git repository on your computer.

Configuring Ignored Files For All Repositories on Your Computer

Use the git remote rename command to rename an existing remote.

Rename An Existing Git Remote
+ Managing GitHub Project With SSH
8 lectures 28:51

Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to GitHub without supplying your username or password at each visit.

About SSH

After you've checked for existing SSH keys, you can generate a new SSH key to use for authentication.

Generating a New SSH Key

To configure your GitHub account to use your new (or existing) SSH key, you'll also need to add it to your GitHub account.

Adding a New SSH Key to Your GitHub Account

After you've set up your SSH key and added it to your GitHub account, you can test your connection.

Testing Your SSH Connection

Find out how to create and initiate a new git repository on your local system.

Creating a New Local Git Repository (Empty)

How to Add a New Remote to your Git Repo that does not have a remote URL yet.

Add a New Remote to Your Git Repo

In the code, the origin is your default remote repository name and '-u' flag is upstream, which is equivalent to '-set-upstream.' and the master is the branch, name.upstream is the repository that we have cloned the project.

Push the Code In Your Local Repository To GitHub

Push the Change in your local project by using your GitHub Email account and name.

Push the Change By Your GitHub Email Account
+ GitHub Pull Requests
12 lectures 55:48

Fork the repo on GitHub, then add your fork repo as a remote to your local cloned copy

Clone The Project to Send a Pull Request

Edit The Project to be able to send a Pull Request on the original project

Edit The Project Before Send a Pull Request

To create a pull request, you need to have made your code changes on a separate branch or forked repository

Create a Pull Request on GitHub From a Fork

Approving a pull request with required reviews

Preview 04:17

Delete a closed pull request from GitHub

Review and Delete Closed Pull Request

A contributor is someone from the outside not on the core development team of the project that wants to contribute some changes to a project

Viewing The Project's Contributors

Create and Commit changes to a New branch and send it as a pull request

Commit Changes To a New Branch

The only way to open up a pull request for multiple commits is: Isolate them into their own branch. Open the pull requests from there.

Open Multiple Pull Requests on GitHub

You may choose to close a pull request without merging it into the upstream branch.

Merge or Close Multiple Pull Requests on GitHub

You can quickly find proposed changes to files project in a pull request details.

Review changed Files in a Pull Request

Alias creation is a common pattern found in other popular utilities like "bash" shell. Aliases are used to create shorter commands that map to longer commands.

Everything About Git Aliases

Update your local repository with any change applied into GitHub project

Pull the Pull Request Change to Local Repository
+ Branching And Merging From Git
8 lectures 16:23

You can create or delete branches directly on Local Project.

Creating and Deleting Branches

Switching Between Branches, Abandoning Local Changes. The git checkout command allows context switching between branches as well as abandoning local changes.

Switching Between Local Git Branches

How do I rename a local Git branch

Renaming Local Git Branches

Use your favorite text editor, such as Atom, to make changes to your project, from a new Branch

Making Changes In a Local Git Branch

Go to another branch, then just type in: git branch -D [branch]. The lowercase -d means delete but the -D means “Force a delete no matter what.

Delete An Unmerged Branch In Git

Git's distributed nature encourages users to create new branches often and to merge them regularly as a part of the development process.

Merge Git Branch into Master

Push Your Editing from local branch to the remote server

Push Local branch to Remote

How To Merge Git Branch To Remote

Merge Local Branch Into Remote Branch
+ Mastering Git Stash
7 lectures 27:59

Stash the changes in a dirty working directory away.

Create Your First Stash

The "pull" command is used to download and integrate remote changes.

Downloading and Integrating Remote Changes

Drop and Remove a single stashed state

Pop a Single Stashed State

List the stash entries that you currently have.

Create Multiple Stashes

Like pop, but do not remove the state from the stash list.

Applying a Single Stashed State

Remove a single stash entry from the list of stash entries.

Remove a single stash entry from the list.

Remove all the stash entries. Note that those entries will then be subject to pruning, and may be impossible to recover

Remove All The Stash Entries.