Git Learn By Doing
It is planed to teach git in 100(guessing) Levels. Starting from clone to fully mastering git.
File | Created | Modified | Type | Status |
---|---|---|---|---|
Level 0 | 3:52 PM - July 24, 2025 | 3:52 PM - July 24, 2025 | Automated | Done |
Level 1 | 3:52 PM - July 24, 2025 | 3:52 PM - July 24, 2025 | Quiz | Done |
Level 2 | 3:52 PM - July 24, 2025 | 3:52 PM - July 24, 2025 | Tasks,Quiz | Done |
Level 3 | 8:29 PM - July 25, 2025 | 8:29 PM - July 25, 2025 | Automated | Done |
Level 4 | 3:52 PM - July 24, 2025 | 3:52 PM - July 24, 2025 | Tasks,Quiz | Done |
Level 5 | 8:29 PM - July 25, 2025 | 8:29 PM - July 25, 2025 | - | Done |
Level 6 | 9:54 AM - July 29, 2025 | 9:54 AM - July 29, 2025 | Automated | Done |
Level 7 | 10:11 AM - August 28, 2025 | 10:11 AM - August 28, 2025 | Task | Active |
How this is planned: The difficulty will increase from task to task by end of this you will learn about
Installing Git
- Windows: click here to download
- Linux assuming no one is using linux (now)
Install git in linux
No need linux comes with
git
type the following to check if installedgit -v
If not installed# Ubuntu sudo apt install git # Arch sudo pacman -S git paru -S git yay -S git
Introduction
What is Git?
There are mainly 2 types version control systems[1]
- Centralized Version Control Systems (CVCS)
- Distributed Version Control Systems (DVCS)
In CVCS , it "have a single server that contains all the versioned files, and a number of clients that check out files from that central place"
Its like you google drive , where one file is accessed by meny people but , the file stays in the server and shared by everyone through the internet
In this every client , fully mirror the entire source files to their computer allong with the version history and all the snapshots[2]
Git is an example of DVCS, because of this , if one copy of your project files are down , you can always recover it from another copies.
Git was created by "Linus Torvalds", for maintaining his projects. He is also the creater of linux.
Maintaining ? Firt thing do not take the word "maintaining" in literal sense, maintaining means updating and patching[1:1] etc.
So git
is used to do the version control thing.
Version Control ? : Imagine you created a game using python
programming language , and you send it to a friend , or publish it on playstore or Appstore or something , after sometime you have a new idea that you want to add little more features to this game , there is a fact that you have already published a this game. So what you will do is publish this changes(new features) as a new version. You might have this doubt ? Why cant i just the old publish and republish the game with new changes , then i wont have to worry about the versioning thing. You are right but imagin these senarios
- You made the initial game when you are using a old crappy computer and you bought a new computer and it is much faster that the old one , and you cramming too much features into the game and this made the game bulky. The old crappy computer may not handle this much things so the game will start to lag or in extreme case the old computer wont support new the bulky game.
- You can see the above trend with
windows
older computer will only support uptowindows 7
, and only new processor will supportwindows 11
things like that.
More Technical Resons:
The versioning scheme is useful for - Tracking your changes over time
- Colabrating with others
- Maintining support for older devices
There are many other reasons
Git is a distribute version control system created by "Linus Torvalds"