Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
GIT: Advanced commands
Role Play
Rating: 4.6 out of 5(2,233 ratings)
12,267 students

GIT: Advanced commands

Practical GIT training: cherry pick, rebase, revert, stash, clean, and more. Take your GIT skills to the next level.
Created byBrian Gorman
Last updated 5/2025
English

What you'll learn

  • Work with some advanced GIT commands
  • Know how to rewrite history with squash, rebase, and reset.
  • View history in the reflog, expire unreachable commits using reflog and the garbage collector
  • Create linear GIT history trees
  • Use Aliases
  • Perform a Cherry Picking operation
  • Use the stash to temporarily save changes
  • Work with Tags
  • Become a more advanced GIT user

Course content

5 sections47 lectures4h 31m total length
  • Welcome and Info about this course2:00

    Welcome to GIT: Advanced commands!  I'm excited to go on this journey with you!

    This course is designed to take you to the next level -> from an intermediate/proficient GIT user to someone who is close to a master of GIT.  I say "close" because at the end of this course you will have been exposed to many of the GIT tools you would need to be in command of as a GIT master, but still just a bit short of actually getting there - as that 'title' really comes more with experience and time - and exposure to more and more tricky situations.

    That being said, it is my hope that by the end of this course you would be the person on your team that everyone turns to when there are problems with the repo, or when they need to know how to do something with the command line that just can't be done with a GUI (or at least not easily done).

    It is expected that before taking this course you have at least been exposed to GIT, and are familiar with a basic flow for add/commit/push/pull/fetch/merge/branch/and checkout.  We'll see them again in the course from time to time, but we won't cover them, so it will be harder to work with this course if you don't have a good command of them coming in from the start.

    We will quickly dive in with a review, and make sure that our machines are configured to do this course with minimal issues.  Feel free to skip any lectures that you are already in command of or just don't need to review - I leave that to your personal discretion.

    After getting setup, the bulk of the course will be spent learning about working with some of the advanced commands that GIT exposes for us to do everything from a simple revert of a commit or a reset of changes, to rewriting history with rebase and picking commits out of a tree with the cherry picking operations.

    You can review the curriculum to see the commands, but here they are, in the order they will be presented in our course:

    • git commit --amend
    • git reflog
    • squashing and merging at GitHub
    • git config --global alias.x
    • git reset
    • git reset --hard
    • git clean
    • git revert
    • git rebase
    • git cherry-pick
    • git stash
    • git tag

    Let's get started!


  • What this course won't do [Please review before purchasing]3:16

    I like to start every course with a "What this course won't do" because I feel this information is just as important, if not more important for your decision to take this course as a "what this course 'will' do" is.

    So, here are few things that this course will not do:

    • This course will not make you a better programmer
    • This course will not teach programming at all
    • This course will not make you into the all-knowing GIT Diety
    • This course will not spend a lot of time on basic GIT commands
    • This course will not teach you about webhooks or continuous integration
    • This course will not help you get a job directly [but if you do get a job, you better know what's in this course, so there is that]
    • This course will not go deep into shell scripting
    • This course will not cover git bisect
    • This course will not cover using email to push/pull changes or patch
    • This course will not cover cherry-pick with patching
    • This course will not cover git blame
  • Hello Everyone!0:53

    Please read this note before moving to the next section.

Requirements

  • You should be familiar with GIT. You should have GIT installed on your machine, and an account at GitHub or BitBucket.
  • You should know how to work with basic GIT workflows

Description

This course is a deeper dive into GIT.  As such, it is expected that you would have at least some working knowledge of GIT before you take this course.  For example, you should be familiar with basic commands like "add, commit, push, pull, fetch, and merge."    You should also have a basic working knowledge of working with a REMOTE repository like GitHub or BitBucket.  

The first part of this course will just make sure we're setup for the remaining part of the course and serve as a simple review.  This includes basic stuff like getting an account at GitHub, setting up our machine for working with GIT, and setting a few default configurations.  Feel free to skip this part of the course if you are already good to go.

The bulk of the course will then take a deeper dive into the following commands:

  • git commit --amend
  • git reflog
  • git rebase
  • git config --global alias
  • git fetch --prune
  • git reset [both soft and hard resets]
  • git clean
  • git revert
  • git cherry-pick
  • git stash
  • git tag

Additionally, we'll see what it looks like to perform different merges at GitHub to complete a pull request, including

  • Squash and Merge
  • Rebase

At the completion of this course, you'll be proficient with some of the more advanced GIT commands that we encounter when working with GIT repositories on a daily basis in the real world.  You'll also have been exposed enough and understand enough about the commands to take your skills to the next level when working with GIT.  You'll also know what it takes to make and keep your tree linear in your GIT history, and you'll have tools to rescue your repository when things get a bit tricky.

Who this course is for:

  • Beginner to Intermediate GIT users
  • Developers
  • Anyone who wants to learn about some of the more advanced features of GIT
  • Someone who is looking to be a team lead and needs to improve their GIT skills
  • Anyone that needs to be able to have source control on important files [code, images, documents, spreadsheets, etc]