Git Branch Merge


Switching Base

To integrate modifications, first, navigate to the primary branch: bash Copy Edit

git checkout main 

Output:

Switched to branch 'main' 

Uniting Alterations

Merge critical-patch into main:

git merge critical-patch 

Example Output:

Updating a1b2c3d..e4f5g6h   
Fast-forward    
    revised.html | 3 ++-    
   1 file adjusted, 2 insertions(+), 1 removal(-)   

Since critical-patch originated from main without parallel modifications, Git performs a fast-forward, aligning both references.


Cleaning Up

Eliminate the merged branch:

git branch -d critical-patch 

Example Output:

Deleted branch critical-patch (was e4f5g6h). 

Handling Conflicts

Progressing on Another Line

Modify media-enhancement branch by including new_graphic.jpg and updating revised.html: bash Copy Edit

git checkout media-enhancement 

Output:

Switched to branch 'media-enhancement' 

HTML Adjustments

<!DOCTYPE html> 
<html> 
<head> 
     <title>Greetings</title> 
     <link rel="stylesheet" href="visuals.css"> 
</head> 
<body>  
   <h1>Salutations!</h1> 
   <div><img src="old_graphic.jpg" alt="Visual from Space" style="width:100%;max-width:900px"></div>
   <p>Initial draft within the repository.</p> 
   <p>Enhancement included!</p> 
   <div><img src="new_graphic.jpg" alt="Updated Illustration" style="width:100%;max-width:600px"></div>  
</body> 
</html> 

Recording Progress bash Copy Edit

git add --all   
Git commit -m "Inserted fresh illustration" 

Example Output:

[media-enhancement abc1234] Inserted fresh illustration   
   2 files altered, 1 addition(+)    
   New file mode 100644 new_graphic.jpg   

Both main and media-enhancement modified revised.html.

Conflict Detection

git checkout main   
Git merge media-enhancement 

Output:

Auto-merging revised.html   
CONFLICT (content): Merge conflict in revised.html   
Automatic merge halted; resolve discrepancies before committing. 

Identifying the Issue

git status 

Output:

On branch main   
Unresolved paths exist.     
     (Address issues and execute "git commit")     
     (Use "git merge --abort" to cancel)  
Changes staged for commit:          
     new file:   new_graphic.jpg           
     new file:   old_graphic.jpg    
Unresolved paths:           
     Both modified:   revised.html   

Resolving the Conflict

Open revised.html in an editor:

<!DOCTYPE html> 
<html> 
<head> 
<title>Greetings</title> 
<link rel="stylesheet" href="visuals.css"> 
</head> 
<body>  
<h1>Salutations!</h1> 
<div><img src="old_graphic.jpg" alt="Visual from Space" style="width:100%;max-width:900px"></div> 
<p>Initial draft within the repository.</p> 
<<<<<<< HEAD 
<p>Demonstrating integration process.</p>
 ======= 
<p>Enhancement included!</p>
<div><img src="new_graphic.jpg" alt="Updated Illustration" style="width:100%;max-width:600px"></div> 
>>>>>>> media-enhancement  

</body> 
</html> 

Finalizing

Adjust and save:

<!DOCTYPE html> 
<html> 
<head> 
<title>Greetings</title> 
<link rel="stylesheet" href="visuals.css"> 
</head> 
<body>  
<h1>Salutations!</h1> 
<div><img src="old_graphic.jpg" alt="Visual from Space" style="width:100%;max-width:900px"></div> 
<p>Initial draft within the repository.</p> <p>Demonstrating integration process.</p> 
<div><img src="new_graphic.jpg" alt="Updated Illustration" style="width:100%;max-width:600px"></div>  

</body> 
</html> 

Confirming Resolution

git add revised.html   
Git status 

Output:

On branch main   
All conflicts addressed but merge remains open.     
       (Use "git commit" to conclude) 

 Changes staged for commit:           
      new file:   new_graphic.jpg           
      new file:   old_graphic.jpg           
      Modified:   revised.html   

Concluding Integration

git commit -m "Unified media-enhancement with main, resolved disputes" 

Example Output:

[main z9y8x7w] Unified media-enhancement with main, resolved disputes 

Cleaning Up

git branch -d media-enhancement 

Output:

Deleted branch media-enhancement (was abc1234). 

Now, you're proficient in managing branches, merging, and resolving conflicts. Proceed with remote collaboration for greater efficiency!

Previous