Why?Are you front-end developer or back-end, in gaming or fintech development - doesn't matter. Version control system - is what unites us all. We work in teams and have to coordinate our work and code to deliver a high-quality solution.How?Git is the best tool to control your code. Learn concepts of Git to simplify your work!Course OutlineCourse Introduction provides an introduction to this course and the Git source control system and sets the stage for the rest of the course.After the introduction, the first thing we do is Git Installation for both Linux and Mac.Quick Start a very quick, hands-on Introduction to Git. We start off by signing up for GitHub, creating a repository there, the makiing a local copy (clone), local changes (add/commit) and then update GitHub with our changes (push). Additionaly, will generate SSH key and upload it to GitHub account.In Basic Commands, we walk through all the foundational commands needed to start a new project managed by Git (or enable Git for an existing project) all the way through making commits, including common file operations like moving and deleting files. We also cover how to exclude the wrong files from accidentally being committed and how to review your repository's historyWith a strong foundation in place, we explore ways to make Comparisons in Git, including all the different local states, between commits, and between local and remote repositories.We give great attending to Branching and Merging in Git. We start off with the simple "happy path" and learn about "Fast-Forward" merges and how to control them. The we walk through common "automatic" merges. Finally, we cause trouble on purpose so we can step through resolving conflicting merges with our visual merge tool.With a strong foundation in branching and merging, we will then cover a more complex topic, Rebasing. In that section, we cover several rebasing examples, including how to resolve a rebase conflict.In the Advanced section, we save our work-in-progress while we attend to more pressing issues, then pick up where we left off after that. We'll cover git tags and stashing local changes. One of the most important part here is branching strategies. How can we use Git.