12 Commits

13 changed files with 163 additions and 84 deletions

47
ASSIGNMENT-04-09-2025.md Normal file
View File

@ -0,0 +1,47 @@
## Viewing File History
## 1. git log -- assignment.txt
![alt text](<git log-p--filename.png>)
## 2. git log -p -- assignment.txt
![alt text](<git log--filename.png>)
![alt text](<git log-p--filename1.png>)
## 3. git log --oneline -- assignment.txt
![alt text](<git log--oneline--filename.png>)
## How many commits modified this file?
3 commits
## What differences do you see when adding the -p option?
Shows detailed changes for each commit in the file.
## Viewing File History with Blame
## 1. git blame assignment.txt
![alt text](<git blame assignment.png>)
## 2. git blame -L 1,5 assignment.txt
![alt text](<git blame -L 1,5 assignment.png>)
## 3. git blame assignment.txt
![alt text](<git blame -e assignment.png>)
## Who changed each line of the file?
Renejit
## How does -L help when the file is large?
To view the history of specific lines in a file.
## What extra information does -e provide?
To get the email id of the user who made the chages in the file.

14
README.md Normal file
View File

@ -0,0 +1,14 @@
## why Git is not tracking this case-only rename?
Windows/macOS filesystems are case-insensitive they treat both names as the same file.So when you rename only by case, the OS reports no change.
## Provide the correct steps to make Git recognize and commit the rename:
force Rename command : git mv -f readme.md Readme.md
## Explain the underlying reason why this happens (hint: think about how Git interacts with different operating systems and filesystems).
1. Git was designed for Linux, where filesystems are case-sensitive.
2. Windows/macOS filesystems are case-insensitive they treat both names as the same file.So when you rename only by case, the OS reports no change.

9
assignment.txt Normal file
View File

@ -0,0 +1,9 @@
git log -- <filename> :
shows the commmit message for a specific file.
git log -p --<filename> :
shows line by line changes for each commmit in a specific file
git log --oneline --<filename> :
shows commit history in short form for the specific file

View File

@ -1,2 +1,10 @@
hello 1
Hi 3
3
4
5
6
7
8
9
10

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
git blame -e assignment.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
git blame assignment.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
git log--filename.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
git log-p--filename.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
git log-p--filename1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

1
git-practice-Renejit Submodule

Submodule git-practice-Renejit added at 8ee5230729

View File

@ -1,83 +1,83 @@
## Git Assignment ## Git Assignment
## 1.Git Version Check ## 1.Git Version Check
## what is git and version control ## what is git and version control
Version Control: Version Control:
Version control is a system used to record and manage changes made to files or code over time. It helps you to: Version control is a system used to record and manage changes made to files or code over time. It helps you to:
Keep track of modifications: Identify what was changed, when it was changed, and who made the changes. Keep track of modifications: Identify what was changed, when it was changed, and who made the changes.
Recover from errors: Restore previous versions if something goes wrong. Recover from errors: Restore previous versions if something goes wrong.
Git is a type of distributed version control system. Enable to work even without an internet Git is a type of distributed version control system. Enable to work even without an internet
connection and provide powerful tools for managing code changes. connection and provide powerful tools for managing code changes.
## Real-life example where multiple people edit the same file: ## Real-life example where multiple people edit the same file:
In a project many person can work a same project we can track who is making what changes are made so we use git to track the changes. In a project many person can work a same project we can track who is making what changes are made so we use git to track the changes.
## Why is version control better than emailing files back and forth? ## Why is version control better than emailing files back and forth?
In email we can`t tarck the changes in the code.But in git we track the changes like who make it,time and old version of code. In email we can`t tarck the changes in the code.But in git we track the changes like who make it,time and old version of code.
![alt text](<git version.png>) ![alt text](<git version.png>)
## 2. Installing Git & Configuring User Info ## 2. Installing Git & Configuring User Info
![alt text](<git installation.png>) ![alt text](<git installation.png>)
![alt text](<git config.png>) ![alt text](<git config.png>)
## 3. Initializing a Repository ## 3. Initializing a Repository
![alt text](<initializing rep.png>) ![alt text](<initializing rep.png>)
## 4.Working Directory, Staging, and Commits ## 4.Working Directory, Staging, and Commits
![alt text](<add.png>) ![alt text](<add.png>)
## 5. Adding & Committing Files ## 5. Adding & Committing Files
![alt text](add.png) ![alt text](add.png)
![alt text](<add and commit.png>) ![alt text](<add and commit.png>)
## 6. Viewing Commit Logs & Diffs ## 6. Viewing Commit Logs & Diffs
![alt text](<git log.png>) ![alt text](<git log.png>)
![alt text](<git diff commit1 commit 2.png>) ![alt text](<git diff commit1 commit 2.png>)
![alt text](<git diff.png>) ![alt text](<git diff.png>)
![alt text](<git log oneline.png>) ![alt text](<git log oneline.png>)
## 7. Creating & Switching Branches ## 7. Creating & Switching Branches
![alt text](<git branch.png>) ![alt text](<git branch.png>)
![alt text](<create new branch.png>) ![alt text](<create new branch.png>)
![alt text](<git checkout.png>) ![alt text](<git checkout.png>)
![alt text](<git switch.png>) ![alt text](<git switch.png>)
## 8 Git clone ## 8 Git clone
![alt text](<git clone.png>) ![alt text](<git clone.png>)
## 9. Adding & Managing Remotes ## 9. Adding & Managing Remotes
![alt text](<Adding & Managing Remotes.png>) ![alt text](<Adding & Managing Remotes.png>)
## 10. Pushing & Pulling Changes ## 10. Pushing & Pulling Changes
![alt text](<git pull.png>) ![alt text](<git pull.png>)
![alt text](<git push.png>) ![alt text](<git push.png>)
## 11. Ignoring Files with .gitignore ## 11. Ignoring Files with .gitignore
![alt text](<Ignoring Files with .gitignore.png>) ![alt text](<Ignoring Files with .gitignore.png>)
Working Directory and staging: Working Directory and staging:
![alt text](<Working Directory and Staging.png>) ![alt text](<Working Directory and Staging.png>)
Git status Before gitignore Git status Before gitignore
![alt text](<git status before gitignore.png>) ![alt text](<git status before gitignore.png>)
Git status after gitignore Git status after gitignore
![alt text](<git status after gitignore.png>) ![alt text](<git status after gitignore.png>)