Skip to main content

Welcome to the Git and GitHub content

Git is the world's leading version control system, an absolutely indispensable tool for any developer, regardless of the programming language used.

Together with GitHub, the most popular code hosting platform, it allows you to keep a historical record of your projects, experiment without fear of breaking things, and most importantly, collaborate smoothly with other programmers around the world.


Introduction and Fundamentals

In this section, we will take the first steps to understand how your code's "time machine" works:

  • What is Git? and why it is vital in the industry.
  • Installation and configuration on your local machine (user.name, user.email).
  • The basic lifecycle: from starting the project (git init, git clone) to officially staging and saving changes (git add, git commit).
  • Time navigation: how to read the version history with git log and git diff.

Teamwork (Branches and Merging)

You will develop the necessary skills to work on isolated features without affecting the main version of the project:

  • Branch creation and navigation (git branch, git switch, git checkout).
  • Code merging (git merge) to integrate parallel work.
  • Conflict resolution when two people edit the same lines of code.

Cloud Collaboration (GitHub)

You will learn to synchronize your computer with the outside world:

  • Remote Repositories: pushing and pulling code (git push, git pull).
  • Professional Workflow and Pull Requests: how to safely propose changes in large teams, request code review, and finally merge your work via the GitHub web interface.

Useful Tools and Best Practices

As you progress, you will acquire the "superpowers" that differentiate a beginner from a pro:

  • Undoing mistakes: how to recover deleted code and cancel operations (git restore, git reset, git revert).
  • Temporary saving: the advanced use of git stash for emergencies.
  • Security and Ignored files: the mandatory use of the .gitignore file to avoid uploading passwords or junk files to the cloud.