Pricing options

Choose how you want to get access to this course

Why take this course?

Using Git effectively is a crucial skill to have when working on large software projects

  • Learn and understand the Git mental model

  • Use branches like a pro! Learn how to merge, rebase, handle detached head and much more!

  • Learn how to manage your source code and "time-travel" to past states and fix mistakes

  • Be a comfortable command line Git user. You won't need UI for working with Git!

Course curriculum

  1. 1
  2. 2
    • What does a version control system do?

    • Git and Github - high level workflows

    • Installing git

    • Initializing repository

    • Git two stage commit explained

    • The three state architecture

    • Selectively staging and committing

    • Think Changes Not Files!

    • Commit message editor

    • Seeing previous commits

    • Committing a file delete

    • Looking at code changes in commit history

    • Clearing local changes with git checkout

    • Unstaging files with git restore

    • Amending your last commit

    • Viewing diff of your changes

    • Using gitignore

  3. 3
    • Understanding a git commit

    • Branching concepts

    • Understanding branching with Git

    • Creating and switching between branches

    • Committing to a branch

    • Understanding branch pointers and commits

    • Fast forward merge

    • Merge with commit

    • Resolving merge conflicts

    • Git log with branches

    • Deleting branches

    • Switching to an older commit

    • Detached head - understanding and fixing

    • Rebasing explained - what and why

    • Doing a rebase

  4. 4
    • Cloning a remote repository

    • Committing to a cloned repo

    • Making changes to the remote repo

    • Understanding remote branches

    • Checking out remote branches and handling detached head

    • Examining and fetching from remote using git fetch

    • Syncing remote changes with local

    • Using git pull

    • Fetching, merging and pushing from other remote branches

    • Git fetch vs pull

    • Doing git pull with rebase

  5. 5
    • Forking a repository

    • Making a pull request

  6. 6
    • Conclusion

    • Before you go...