Files
git-practice-Renejit/GIT_ASSIGNMENT.md
2025-08-27 21:29:26 +05:30

128 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- @format -->
# Git Assignment
## 1. What is Git and Version Control
What problem does Git solve?
Git solves the problem of tracking changes in files (especially code) and managing collaboration between multiple people. Without Git, its difficult to know who made what changes, when, and why. Git lets you save different versions of your project, go back to earlier versions if something breaks, and merge changes from different people without overwriting each others work.
Real-life example where multiple people edit the same file:
A school group project where everyone is writing different sections of a report in the same Word/Google Doc file. Each student edits parts of the document, and the changes need to be combined into one final version.
Why is version control better than emailing files back and forth?
With email, you end up with many copies of the same file (e.g., report_final.docx, report_final2.docx, report_really_final.docx), which is confusing.Its easy to lose track of who made which changes.If two people edit the same section, you must manually merge them, which can cause mistakes.
Version control (like Git) keeps one central version of the file, records who made each change, and can automatically merge changes. This makes collaboration smoother, avoids confusion, and provides a history to undo mistakes if needed.
## Git Version Check
![Git version check](git_version.png)
---
## 2. Installing Git & Configuring User Info
![Git status](git_username.png)
---
## Git List
![Git status](git_list.png)
---
## 3. Initializing a Repository
## Git Init
![Git add](git_init_status.png)
---
## 4. Working Directory, Staging, and Commits
## Git Add
![Git add](git_adding_notes.png)
![Git add](git_add.png)
![Git add](git_commit_notes.png)
![Git add](git_file_status.png)
---
## 5. Adding & Committing Files
## Git Log
![Git log](gitlog.png)
![Git log](git_log.png)
---
## 6. Viewing Commit Logs & Diffs
## Git Log (graph)
![Git log graph](onelinegraph.png)
---
## Git Diff
![Git diff](git_diff.png)
---
## Git Diff (commit1 vs commit2)
![Git diff between two commits](git_diff_between_commits.png)
---
## 7. Creating & Switching Branches
## Git Branch
![Git branch](git_branch.png)
![Git new branch](git_new_branch.png)
![Git checkout](git_checkout.png)
![Git branch](git_checkout_switch.png)
---
## 8. Cloning a Remote Repository
## Git Clone
![Git clone](git_clone.png)
---
## 9. Adding & Managing Remotes
## Git Remote
![Git origin](git_origin.png)
![Git remote](git_origin_remote.png)
---
## 10. Pushing & Pulling Changes
## Git Pull
![Git pull](git_pull.png)
---
## 11. Ignoring Files with .gitignore
## .gitignore
![.gitignore](gitignore.png)
---