Git Beginner
4.6 (53 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.
5,415 students enrolled

Git Beginner

A comprehensive course on git and github for beginners covering commands on the linux terminal.
4.6 (53 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.
5,415 students enrolled
Created by Bharat Khiani
Last updated 6/2020
English
English
Current price: $13.99 Original price: $19.99 Discount: 30% off
23 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5 hours on-demand video
  • 36 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
  • Work with GIT commands on the terminal
  • Record changes to your source code files in commits
  • Use branches, reset, revert and other well-known features in GIT
  • Publish your projects on github and collaborate with other developers
Course content
Expand all 48 lectures 05:10:41
+ Course Objectives
3 lectures 10:33

An introduction to the course, its contents, pre-requisites and course audience.

Preview 02:14
  • Introducing Git as a version control software

  • Advantages of using Git

  • How I personally use Git.

Preview 02:59

Download and install Git

This lecture demonstrates how to install Git in linux via the package manager Synaptic on the commandline as well as the GUI interface.  The resources include the list of commands used in this lesson.

Download and Install Git
05:20
+ Git Repositories
1 lecture 04:22

Initialize a git repository for your software project to start versioning your source code files

Preview 04:22

This quiz well test your knowledge of content covered in lectures 1 to 4.

It will help you review the lessons learned and help retain the knowledge you've gained.

All the best.

Git Basics
2 questions
+ Essential Git commands to add, edit, commit changes
5 lectures 38:22

Use git config to setup versioning information like name and email

Configuring your name and email
05:34

Basic git usage - edit, stage and commit cycle

Using git to record changes to our project as a commit
11:06

Use the git log command to view the commits in a repository in different ways

Using the log command to view commits on a branch
05:29

Remove a file from your project and stop versioning it

Preview 05:34

Compare the state of files in working directory, staging and commits

Comparing states with the git diff command
10:39

This quiz well test your knowledge of content covered in lectures 5 to 9.

It will help you review the lessons learned and help retain the knowledge you've gained.

All the best.

Essential Git Commands
12 questions
+ Working with branches
9 lectures 01:03:06

Basic understanding about branches

Branching in Git
03:47

Create and use branches for commits

Create, checkout and commit on branches
07:40

Checking out to branches when you have changes in the working directory that are not committed yet.

Uncommitted changes and checkouts to branches.
04:53

Use git log to view commits on branches in different ways

View commits on a branch
06:32

Using git merge and scenarios where you get a fast forward merge

Merging branches - Part 1 - Fast Forward Merge
06:46

Using git merge and scenarios where you get a recursive merge

Preview 07:56
  • Reasons for merge conflicts and how to resolve them manually to successfully merge. 

  • How to abort merges in merge conflicts

Preview 11:29

Using git merge with --no-ff to create a merge commit and provide a commit message for the merge

Forcing a new commit in a Fast Forward Merge
06:39
  • Removing branches that have been merged and removing un-merged branches.

  • Effects of deleting branches that have been merged in terms of project history. Listing merged or unmerged branches.

Removing Branches
07:24

This quiz well test your knowledge of content covered in lectures 10 to 18.

It will help you review the lessons learned and help retain the knowledge you've gained.

All the best.

Working with Branches
15 questions
+ Tagging Commits
2 lectures 14:10
  • Tag current commit, previous commits, stable releases.

  • Use the --decorate option in git log

Creating and using tags
08:09

Providing annotations with tags, looking at a commit and its tag and anotation.

Adding tag annotations and Removing tags
06:01
+ Reset
5 lectures 28:51

Overview of different kinds of Resets, and about rewriting commit history

Introduction to resets
02:21

Using soft reset to rewrite commit history.

Using soft reset
07:08

Using mixed reset with a commit ref or with HEAD to clear just the staging area.

Using mixed reset
07:32

Using hard reset with a commit ref or at the current commit to clear working dir and staging since last commit

Using hard reset
07:05
  • Using clean to get rid of untracked files.

  • Clean under various modes.

Using git clean
04:45

This quiz well test your knowledge of content covered in lectures 19 to 25.

It will help you review the lessons learned and help retain the knowledge you've gained.

All the best.

Tagging and Resets
7 questions
+ Revert
1 lecture 07:06

Revert a past commitUndo the previous commit using revert

Using revert
07:06
+ Reflog
1 lecture 06:12

What is the reflog and how it can be used

Using reflog
06:12

This quiz well test your knowledge of content covered in lectures 26 to 27.

It will help you review the lessons learned and help retain the knowledge you've gained.

All the best.

Reverts and Reflog
2 questions
+ Stash
2 lectures 13:52

Stash away uncommitted changes in the working directory

Git stash - Part 1 - Understanding stashes
06:08

Use additional commands to stash, apply stashes with staging, view and clean up stashes

Git stash Part - 2 Additional stashing commands
07:44
+ Checkout and file recovery
2 lectures 10:38

Checkout to a past commit to look at the project state at an earlier point in time

Checkout to a past commit
04:20

Reset the file in the working directory to its earlier state

Recover/Reset a file from a commit using checkout
06:18

This quiz well test your knowledge of content covered in lectures 28 to 31.

It will help you review the lessons learned and help retain the knowledge you've gained.

All the best.

Stashing, Checkout and file recovery
4 questions
Requirements
  • Basics of working on a linux terminal / shell / command line
  • Students should atleast know how to create and switch between files and directories, how to edit and delete them, rename them.
Description

This course covers git - the popular version control tool used by developers everywhere. The course has video lectures demonstrating key concepts one needs to know.

The video lectures cover various commands that can be issued on the terminal.  Accross the videos the students go on builinding up their knowledge of commands that can be issued on the terminal.  I have tried to cover most of the scenarios a developer would encounter when using git. 

There are many ways to approach a topic.  The way I have covered git in this course is my personal approach.  What has been easier for me to remember and implement is what I have covered in the course.  I sometimes use diagrams to demonstrate concepts and then implement them on the terminal. 

I am sure this course will help shorten the amount of time it takes for a student or developer to conceptually understand how the commands work on the terminal and how the repository is affected.  I wish those who enroll, all the best, in their journey.

Who this course is for:
  • College graduates/undergraduates in the programming vertical
  • Developers who want to add git to their current skill-set.
  • This course isn't meant for people who want to use git as a backup tool, since its really not a backup tool.
  • It is not meant for people who have no experience with working on the terminal. The course covers commandline tools, so people looking for GUI tools for managing git repositories may not find the course as meeting their needs.