Files
git-practice-Ajin/GIT_ASSIGNMENT.md
2025-09-18 11:57:37 +05:30

4.8 KiB
Raw Permalink Blame History

🚀 Git Assignment My Version Control Journey


🛠 Step 1: Verifying Git Installation

📌 First step was making sure Git was installed and working fine.

Git version check

The output displayed the installed Git version.


📂 Step 2: Checking Repository Status

👀 Next, I checked the repo to see if there were pending changes.

Git status

🔎 Git shows tracked, untracked, and staged files.


Step 3: Moving Files to Staging

I noticed some modifications and added them with git add.

Git add

🗂 Files are now ready to be saved in the next commit.


📝 Step 4: Reviewing Commit History

📖 Every commit is part of the projects story, so I reviewed mine.

Git log

🕒 Shows commit messages, author names, and dates.


🔹 Step 5: Simplified Commit Log

👾 To avoid too much detail, I used git log --oneline.

Git log oneline

A compact and easy-to-read commit history.


🌳 Step 6: Visualizing History with Graph

🎨 History is better when visualized, so I used graph mode.

Git log graph

🌿 Displays branches and merges clearly.


🔍 Step 7: Checking File Changes

🖋 Before committing, I inspected changes with git diff.

Git diff

🔑 Shows exact line changes inside files.


🆚 Step 8: Comparing Two Versions

⚔️ To see what changed between two commits, I compared them.

Git diff between two commits

📌 Helps track project progress over time.


🌿 Step 9: Working with Branches

🔀 I explored branches to work independently without touching main code.

Git branch

🌱 Branches allow experimentation safely.


📥 Step 10: Cloning a Repository

🛰 I downloaded a project from remote using git clone.

Git clone

📂 A full copy is now available locally.


📥 Step 11: Pulling Remote Updates

🛰 To stay up to date, I fetched and merged with git pull origin.

Git pull


🌐 Step 12: Checking Remote Connections

🔗 I verified linked remote repositories with git remote -v.

Git remote


🚫 Step 13: Using .gitignore

📄 Added a .gitignore file to skip tracking unnecessary stuff.

Git ignore


🔀 Step 14: Performing a Merge

I merged changes from another branch into my current branch.

git log --merge

📌 Since both branches had commits, Git created a 3-way merge commit (not a fast-forward merge).


📜 Step 15: Inspecting Merge Commit Details

👀 I used git log -p -- merge.txt to review the merge commit changes.

git log -p -- merge.txt

📝 Shows added and modified lines from both branches.


🗂 Step 16: Checking Simplified Log After Merge

To quickly see the commit history after the merge, I ran:

git log --oneline -- merge.txt


🌳 Step 17: Visualizing All Branches and Merge

🎨 Using the graph mode to visualize history clearly:

git log --graph --oneline --all

🌿 Shows both branches and the merge commit.


Step 18: Blame Tracking Line History

🖊 With git blame, I checked who wrote each line in merge.txt.

git blame merge.txt

🔑 Each line is attributed to its commit.


🎯 Step 19: Blame with Line Range

🎯 To narrow focus, I ran blame only for lines 15.

git blame -L 1,5 merge.txt


📧 Step 20: Blame with Email

📧 Finally, I checked the author emails using git blame -e.

git blame -e merge.txt


🔀 Step 21: Merging Branch feature/mergeFile into Main

I merged the branch feature/bugReport into feature/mergeFile using the command:

git merge feature/mergeFile


Summary

  1. Git Version Check Verified installation.
  2. Git Status Checked repository state.
  3. Git Add Staged changes.
  4. Git Log Viewed history.
  5. Git Log (oneline/graph) Short + visual log.
  6. Git Diff Compared file changes.
  7. Git Branch Created/checked branches.
  8. Git Clone Cloned repo locally.
  9. Git Pull Pulled updates.
  10. Git Remote Checked remotes.
  11. Git Ignore Excluded files.
  12. Git Merge Performed and confirmed a 3-way merge.
  13. Git Blame Tracked who wrote each line (with -L and -e options).