FREE course

Git fundamentals

442 students 8 messages
Course updated 20 March 2023
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'll learn

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


Git (a version control kit) is one of a developer's many important tools. Regardless of the area of development you choose, all programmers work with source code for projects that are constantly updated, changed, and deleted. In this free beginner's course on Git, you'll learn how to manage this process properly, how to deal with bugs, how to examine your change history, and how to maintain collaborative development.

recovery github working directory clone

Course program

Estimated time: 18 hours
  • 1


    Get acquainted with the course and look at what problems developers face when working with source code. We'll look at why Git has become so ubiquitous, and why it's a core tool for almost any development project.
  • 2

    Installation and setup

    We'll explain how to set up your operating system (Ubuntu/MacOS/Windows), install Git and the VSCode editor, and create a Github account, and we'll also give you some further guidance on how to master Git.
  • 3


    We'll look at the whole process from initializing a project to saving it using Git: how to create a repository, how to add a file to it, and how to commit it.



  • 4

    Integration with Github

    We'll take a look at how to set up GitHub, create a repository, and link it to a local one. We'll also learn how to clone a GitHub repository to your computer.



  • 5

    Working Directory

    We'll learn about what a working directory is and how it differs from a repository, and we'll see how to restore files.



  • 6

    Analyzing changes made

    We'll find out why analyzing changes is useful even for small projects. We'll also take a look at the git diff command, which is run before each commit.



  • 7

    Analyzing the history of commits

    We'll find out how to get all sorts of info about past commits, i.e., who changed the code, when did they change it, and why? We'll also explore the commands needed to do this: log, show, blame, grep.



  • 8

    Undoing changes in the working directory

    We'll discuss how to roll back changes that were made in the working directory, but haven't been committed yet. We'll also learn how to revert changed files to their initial state.



  • 9

    Cancelling commits

    What do you do if you've already committed, but you want to change your mind? We'll learn special commands to simplify the process of undoing or changing a commit: revert and reset.



  • 10

    Changing the last commit

    Committed but forgot to add some files? We'll find out how to add changes to the current commit without creating a new one.



  • 11


    How do you 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

    Git's main purpose is to build a set of single-linked lists made up of commits. Here, we'll introduce the key concept of Git and the concept of branches.



  • 14

    Ignoring files (Gitignore)

    We'll learn the concept of ignoring files and how to decide what to include and exclude from the repository.



  • 15


    We'll look at how to hide changes in the working directory and restore them when needed? Here we introduce the stash command.



  • 16

    Open Source projects

    We'll tell you about how to join in on open-source projects, and we'll also learn about teamwork and how to boost your portfolio.
  • 17

    Do it yourself

    Some additional tasks to help you consolidate the theory you've learned
  • 18

    Additional resources

    Some materials the Hexlet team have picked up. This will give you a more in-depth understanding of the topic
Suggested learning programs
Development of front-end components for web applications
10 months
from scratch
Start at any time
Layout with the latest CSS standards
5 months
from scratch
under development
Start at any time