1. What problem does Git solve?

Git solves the problem of tracking changes in files over time and managing collaboration. Without Git, if we edit a project, it’s very hard to know:Who changed what.When the change was made.How to go back to an older version if something breaks.
Git lets us:Save snapshots (commits) of our work.Revert to older versions when mistakes happen.Work in parallel with teammates without overwriting each other’s work.


2. Real-life example of multiple people editing the same file

Imagine a school group project report where 3 friends are writing in MS Word.Person A adds introduction. Person B adds research. Person C fixes grammar.
If they all edit separately and email files around, they’ll end up with many different versions: report_final.docx, report_final2.docx, report_revised_final.doc.With Git (or Google Docs), they can all work on the same file, track who wrote what, and merge changes properly.

3. Why is version control better than emailing files back and forth?

No duplicate files → Everything is in one central repository.Clear history → You can see every change with author and timestamp.Easy to undo → If someone makes a mistake, you can roll back to an earlier version.Parallel work → Multiple people can edit different parts without overwriting each other.Faster collaboration → No more “Which version is the latest?” confusion.


4. git config

![Screenshot](g1.png)

5.  Initializing a Repository

![Screenshot](g2.png)

6.  Working Directory, Staging, and Commits

![Screenshot](g3.png)

7.  Adding & Committing Files


![Screenshot](g4.png)

8.  Viewing Commit Logs & Diffs


![Screenshot](g5.png)

9. Creating & Switching Branches

![Screenshot](g6.png)

10 Cloning a Remote Repository

![Screenshot](g7.png)

11 Adding & Managing Remotes

![Screenshot](g8.png)

12 Pushing & Pulling Changes

![Screenshot](z1.png)

13 gitignore

![Screenshot](g10.png)

14 why Rename isnt tracked
When renaming readme.md → README.md, Git did not show any change on my Windows system. Running git status showed a clean working directory.

Reason:
Git is case-sensitive, but Windows/macOS filesystems are case-insensitive. The OS treats readme.md and README.md as the same file, so Git does not detect the rename.

Solution:
Use Git’s force move to make the rename explicit.

git mv -f readme.md README.md
git commit -m "Rename readme.md to README.md"
git push origin main