## 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.

## Merging Branches

![alt text](<fast-forward merge-1.png>)

![alt text](<fast-forward merge-2.png>) 

## Merge Conflict 

![alt text](<add number in main and training branch.png>)

![alt text](<merge conflict.png>)

![alt text](<merge conflict1.png>)

## Did Git perform a fast-forward merge or a 3-way merge?

Perform fast-forward merge and merge conflict

## What does git log --graph --oneline --all show after the merge?

![alt text](<git log--graph--oneline--all.png>)

## git log --graph --oneline --all after Merge conflict

![alt text](<git log graph oneline after merge conflict.png>)



