FREE course

Git fundamentals

306 students 4 messages
Course updated 27 June 2022
Course Git fundamentals
Free course
Sign up
  • In-browser editor for exercises
  • Permanent access to theory
  • Asynchronous learning

Included in the course

16 lessons (video or text)
13 exercises in the IDE
40 quizzes
Assistance in «Discussions» on the website

What you will learn

  • Develop in accordance with the latest engineering practices
  • Effectively manage source code, add it to the public repository, analyze history, and modify it
  • Work with GitHub and contribute to open source projects


Git (the version control system) is one of the main instruments in a toolkit of any developer. Regardless of the area of development you choose, all programmers work with the source code for projects that are constantly updated, changed, and deleted. In this free beginner's course on Git, you'll learn how to properly manage this process, easily recover from bugs, examine your change history, and how to maintain collaborative development.


Estimated time 18 hours
  • 1


    Get acquainted with the course and discuss the problems a developer faces when working with source code. We will understand why Git has become the universal and core tool for almost any development project
  • 2

    Installation and setup

    Explain how to set up your operating system (Ubuntu/MacOS/Windows), install Git and the VSCode editor, and create a Github account. And more on what will help you master Git fluently
  • 3


    We cover in detail the process from initializing a project to saving it using Git: how to create a repository, add a file to it, and commit
  • 4

    Integration with Github

    Setting up GitHub, creating a repository there, and linking it to a local one. We will also learn how to clone a GitHub repository to your computer
  • 5

    Working Directory

    Figuring out what a working directory is and how it differs from a repository, and learning how to restore files
  • 6

    Analyzing changes made

    Finding out why analyzing changes is useful even for small projects. Learning the git diff command which is to run before each commit
  • 7

    Analyzing the history of commits

    Learning to get all sorts of info about past commits: who, when, and how changed the code. Exploring the commands for this: log, show, blame, grep
  • 8

    Undoing changes in the working directory

    Discussing how to rollback changes made in the working directory, but haven't been committed. Learning how to revert changed files to the initial state
  • 9

    Cancelling commits

    What should we do if we already made a commit, but it doesn't suit us? Learning special commands to simplify undoing or changing a commit: revert, reset
  • 10

    Changing the last commit

    Made a commit but forgot to add some files? Figuring out how to add changes to the current commit without creating a new one
  • 11


    How to create a commit if there are changes in the working directory that are not directly related to the main one? This is where the index comes in, and we learn how to work with it
  • 12

    Moving through history

    Git allows you not only to view the history, but also to navigate through it by uploading the state of any commit to the working directory. Let's figure out how to do this
  • 13

    Understanding Git

    The basic "job" of Git is to build a set of single-linked lists made up of commits. Here we introduce the key concept of Git and the "branch" concept
  • 14

    Ignoring files (Gitignore)

    Learning the concept of "ignoring files" and how to decide what to include and exclude from the repository
  • 15


    How to "hide" changes in the working directory and restore them when needed? Here we introduce the stash command
  • 16

    Open Source projects

    Explain how to join the development of open source projects, learn about teamwork, and boost your portfolio
  • 17

    Do it yourself

    Additional tasks that help consolidate the theory you've learned
  • 18

    Additional resources

    Materials were picked up by the Hexlet team. This will give you a more in-depth understanding of the topic
Suggested learning programs

From zero to a developer. Refunds in case you won't get a job

Frontend Developer icon
Development of front-end components for web applications
start anytime 10 months