# 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, it’s 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 other’s 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.It’s 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 Branch ![Git clone](git_clone.png) ---