

What is Github
GitHub is the ultimate online platform for hosting code, where millions of developers store and share their projects.
In this lesson, you'll create your GitHub account and uncover why it's a must-have tool for developers everywhere π₯.
The problem π₯΄
After mastering the previous lessons in this course, you've likely crafted a meticulously organized project folder boasting data, R code, and a polished HTML report courtesy of Quarto.
Yet, there remain some significant challenges:
π₯ Safety β Imagine the horror if your computer crashed! To safeguard your hard work, relying solely on a hard drive won't cut it; it's time to embrace the cloud.
βοΈ Sharing β Sending your work via email feels antiquated, doesn't it? Merely sharing the qmd file won't suffice; your colleagues need the ability to rerun your analysis and stay up-to-date with your latest insights.
π¦ History β Ever wished you could rewind time to a previous project version? With no project history, tracking changes feels like navigating a labyrinth.
π€ Collaboration β Picture a colleague eager to contribute a few lines to your script. Without a collaborative platform, coordinating efforts becomes a logistical nightmare.
Let's enter GitHub: the solution to all these woes.
What is github π€
GitHub is a code hosting platform.
It is a website that solves all the problems listed above.
Your code is duplicated on the cloud (safety), other people can read it through an URL (sharing), you can browse all the modifications you've ever done on it (history), and people can easily suggest modifications to it with a process called pull request (collaboration).

You've likely come across this logo before! GitHub is widely recognized, and its mascot, the Octocat, has gained fameβa charming hybrid of an octopus with a cat's face.
GitHub isn't just a niche tool for a select few data analysts; it's a vital platform utilized by millions of developers worldwide every single day. GitHub is an indispensable asset for anyone working with code. You simply cannot afford to ignore.
Anatomy of a github profile
At the end of this course, your Github homepage will look a little bit like this.
When applying for a job that involves data analysis or coding, having a strong GitHub profile is often a significant factor that recruiters take into consideration.

Your github profile page is as important as your linkedIn, treat it with care!
Apart from a profile picture and a bit of general info, a GitHub homepage is essentially a collection of repositories (or repos).
But... What on earth is a repo? π
Anatomy of a github repository
A repository is actually just a folder that lives on github!
Recall the penguin
project we've been tinkering with all along this course? In the next lessons, we're going to duplicate that neatly organized project folder on github: it will become your first ever repository π!
Let's check an example: the repository that contains all the code for my Data To Viz website. It looks like this:

A github repository is just a folder with your data analysis that you put on github!
Workshop
Now that you understand what GitHub is all about, it's time to embark on your own adventure!
If you don't have a github account yet, do the following:
Let Github guide you through the creation process.
You'll keep your Github ID for the rest of your life β Opt for something timeless and enduring!
Add a picture, fill your details, visit your profile. Make yourself at home! π
π¦ The source of truth
Github is a bit like a Dropbox (but way better). It's a safe place where your work is duplicated, and where folders are called repositories.
GitHub serves as the ultimate reference point, or "source of truth." While your work can be replicated across multiple computers, it's the version stored on GitHub that takes precedence in case of conflicts.
Let's make a diagram to make sure it is clear. On the left, your computer with the work you've made locally. On the right the Cloud, with the copy you safely put on Github (nothing for now π):

Mental model: we are building 2 versions of your work: one locally (your computer) and one online (Github).
That's fantastic! Now, we just need to figure out a way to facilitate the transfer of files to and from the cloud.
β‘οΈ The tool we are going to use is called Github Desktop π₯.