Compare commits
20 Commits
main
...
feature/bu
| Author | SHA1 | Date | |
|---|---|---|---|
| 85eb68dc0e | |||
| 69416d7da8 | |||
| 05049ea57f | |||
| 1e1e03c8e4 | |||
| 5331b6d65c | |||
| ed79fb70d2 | |||
| c308eee613 | |||
| 8bcd72e90a | |||
| e1a3c897e8 | |||
| eb6050dd62 | |||
| 9d7507e339 | |||
| 791c79c49a | |||
| cbc3474940 | |||
| 4f1013c54a | |||
| d6a89cf704 | |||
| 40b8a82d3a | |||
| 75c55a72dc | |||
| 44b93e00b5 | |||
| 4004eb1a26 | |||
|
|
1bea8be7b4 |
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
this file wont visibile in git
|
||||
secret.txt
|
||||
.env
|
||||
@@ -1,7 +1,143 @@
|
||||
## Create Repository in Organization
|
||||
# 🚀 Git Assignment – My Version Control Journey
|
||||
|
||||
- Visited the Git-Training-Hub organization on Git Comorin.
|
||||
- Created a new repository named git-practice-Ajin with no README, .gitignore, or license.
|
||||
- The repository is empty as required.
|
||||
---
|
||||
|
||||

|
||||
## 🛠 Step 1: Verifying Git Installation
|
||||
|
||||
📌 _First step was making sure Git was installed and working fine._
|
||||
|
||||

|
||||
|
||||
✅ 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 shows tracked, untracked, and staged files.
|
||||
|
||||
---
|
||||
|
||||
## ➕ Step 3: Moving Files to Staging
|
||||
|
||||
✨ _I noticed some modifications and added them with_ `git add`.
|
||||
|
||||

|
||||
|
||||
🗂 Files are now ready to be saved in the next commit.
|
||||
|
||||
---
|
||||
|
||||
## 📝 Step 4: Reviewing Commit History
|
||||
|
||||
📖 _Every commit is part of the project’s story, so I reviewed mine._
|
||||
|
||||

|
||||
|
||||
🕒 Shows commit messages, author names, and dates.
|
||||
|
||||
---
|
||||
|
||||
## 🔹 Step 5: Simplified Commit Log
|
||||
|
||||
👾 _To avoid too much detail, I used_ `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._
|
||||
|
||||

|
||||
|
||||
🌿 Displays branches and merges clearly.
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Step 7: Checking File Changes
|
||||
|
||||
🖋 _Before committing, I inspected changes with_ `git diff`.
|
||||
|
||||

|
||||
|
||||
🔑 Shows exact line changes inside files.
|
||||
|
||||
---
|
||||
|
||||
## 🆚 Step 8: Comparing Two Versions
|
||||
|
||||
⚔️ _To see what changed between two commits, I compared them._
|
||||
|
||||

|
||||
|
||||
📌 Helps track project progress over time.
|
||||
|
||||
---
|
||||
|
||||
## 🌿 Step 9: Working with Branches
|
||||
|
||||
🔀 _I explored branches to work independently without touching main code._
|
||||
|
||||

|
||||
|
||||
🌱 Branches allow experimentation safely.
|
||||
|
||||
---
|
||||
|
||||
## 📥 Step 10: Cloning a Repository
|
||||
|
||||
🛰 _I downloaded a project from remote using_ `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`.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 🌐 Step 12: Checking Remote Connections
|
||||
|
||||
🔗 _I verified linked remote repositories with_ `git remote -v`.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 🚫 Step 13: Using .gitignore
|
||||
|
||||
📄 _Added a `.gitignore` file to skip tracking unnecessary stuff._
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
# ✨ 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.
|
||||
|
||||
---
|
||||
BIN
git_branch.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
git_clone.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
git_diff_commit_commit.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
BIN
git_log_--oneline.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
BIN
git_pull.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
git_readme.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
git_remote.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
git_status.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
git_version.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
gitignore_file.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
7
merge.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
# created new merge file
|
||||
# added a second line for this file
|
||||
# added a third line for this file
|
||||
# added a fourth line for this file
|
||||
# added a fifth line for this file
|
||||
# added a sixth line for this file
|
||||
# changed to new mergeFile branch
|
||||
BIN
new_branch.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
2
new_branch.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
create new branch and checkout to the new branch
|
||||
edit text
|
||||
35
readme.md
Normal file
@@ -0,0 +1,35 @@
|
||||
1️⃣ Reproduce the situation
|
||||
|
||||
- Initially, my repo had a file called readme.md.
|
||||
- I renamed it to README.md (only case change).
|
||||
- After running:
|
||||
|
||||
`git status`
|
||||
|
||||
Git showed no changes, meaning it did not detect the rename.
|
||||
|
||||
📸  – Git did not show any changes after renaming readme.md → README.md
|
||||
|
||||
2️⃣ Investigate why Git is not tracking the rename
|
||||
|
||||
- Git depends on the filesystem to detect changes.
|
||||
- On Windows (NTFS, FAT), the filesystem is case-insensitive.
|
||||
- That means readme.md and README.md are treated as the same file.
|
||||
- Because Windows reports no difference, Git assumes nothing happened.
|
||||
|
||||
3️⃣ Correct steps to make Git recognize and commit the rename
|
||||
|
||||
To force Git to recognize the case-only rename:
|
||||
|
||||
`git mv -f readme.md README.md`
|
||||
`git commit -m "Rename readme.md to README.md"`
|
||||
|
||||
4️⃣ Underlying reason
|
||||
|
||||
- Git itself is case-sensitive → it can distinguish between readme.md and README.md.
|
||||
- Windows filesystems are case-insensitive → both names point to the same file.
|
||||
- On Linux/macOS (case-sensitive), Git would automatically detect the rename.
|
||||
- On Windows, we must explicitly force it with git mv -f.
|
||||
|
||||
✅ Conclusion:
|
||||
It’s due to the way Git (case-sensitive) interacts with Windows (case-insensitive) filesystems.
|
||||
BIN
repo_update.png
Normal file
|
After Width: | Height: | Size: 27 KiB |