Please Let Me Merge Before I Start Crying

And Other Things I’ve Said At The Git Terminal

I Can’t Do This

Git’s First Learning Curve

Git’s Second Learning Curve

Git’s Second Learning Curve

Git is like Driving

Long Road Trips Require Planning

Collaborating With Git Requires Planning

Road Trips are a Journey from Point A to Point B

Merging in Git is like a Journey from Point A to Point B

I Work well on Road Trips with my Husband

My Team at the PCCTC and I work well outside of Git

My Mom is well-meaning, smart, and just wants to help, even if too much

Git does so much on its own, and just wants to help, but can make the process hard sometimes

Please Let Me Merge Before I Start Crying

Quick Things to Understand About Git

  • Git ≠ GitHub
    • Git: Version Control System
    • GitHub: Developer Platform that uses Git Software
  • Three ways (R Users) can interact with Git
    • A CLI Terminal
    • The RStudio GUI | Positron w/ Extensions
    • A Third Party Client (e.g. GitHub Desktop)

Do Whatever You want

What is a Git Merge?



“Join two or more development histories (Branches) together”



Git Merge Docs (“Git - git-merge Documentation”)

What is a Git Merge?



“Join two or more development histories (Branches) together”



Git Merge Docs (“Git - git-merge Documentation”)

Why is a Git Merge Scary?

Why is a Git Merge Scary?




It’s Not…

Why is a Git Merge Scary?




It’s Not…

…No really

People are afraid of git merge conflicts

What is a Git Merge Conflict?



“Competing changes are made to the same line of a file”



- GitHub Docs (“Resolving a merge conflict using the command line”)

What is a Git Merge Conflict?



“Competing changes are made to the same line of a file”

“When someone edits a file and someone else deletes the same file.”



- GitHub Docs (“Resolving a merge conflict using the command line”)

What is a Git Merge Conflict?



Content

Competing changes are made to the same line of a file.

What is a Git Merge Conflict?



Content

Competing changes are made to the same line of a file.
Structure

“When someone edits a file and someone else deletes the same file.”

Simple Merge Conflict Example

Simple Merge Conflict Example

Simple Merge Conflict Example

Simple Merge Conflict Example

Simple Merge Conflict Example

#=============================#
# Data Cut Dates---------------
#=============================#

<<<<<<< HEAD
main_data_cut: "2024-06-01"
=======
main_data_cut: "2024-01-01"
>>>>>>> master
vendor_1_data_cut: "2023-12-13"
vendor_2_data_cut: "2024-01-05"
vendor_3_data_cut: "2023-12-15"

Simple Merge Conflict Example

#=============================#
# Data Cut Dates---------------
#=============================#

<<<<<<< HEAD
main_data_cut: "2024-06-01"





Simple Merge Conflict Example

#=============================#
# Data Cut Dates---------------
#=============================#

<<<<<<< HEAD
main_data_cut: "2024-06-01"
=======




Simple Merge Conflict Example

#=============================#
# Data Cut Dates---------------
#=============================#

<<<<<<< HEAD
main_data_cut: "2024-06-01"
=======
main_data_cut: "2024-01-01"
>>>>>>> master


Simple Merge Conflict Example

#=============================#
# Data Cut Dates---------------
#=============================#

<<<<<<< HEAD
main_data_cut: "2024-06-01"
=======
main_data_cut: "2024-01-01"
>>>>>>> master
vendor_1_data_cut: "2023-12-13"
vendor_2_data_cut: "2024-01-05"
vendor_3_data_cut: "2023-12-15"

Oh

Resolving Git Merge Conflicts




1. Don’t Panic

Resolving Git Merge Conflicts

1. Don’t Panic

  • Usually, conflicts aren’t a big deal
  • You are (hopefully) the expert
  • Walk away if you need to…

Resolving Git Merge Conflicts



git merge --abort

Resolving Git Merge Conflicts


Have a Third Party handle it…

Resolving Git Merge Conflicts




2. Assess the Damage

Resolving Git Merge Conflicts

2. Assess the Damage

  • You can use the terminal via git status

Resolving Git Merge Conflicts

2. Assess the Damage

  • You can use the terminal via git status
  • You can use the RStudio GUI

Resolving Git Merge Conflicts

2. Assess the Damage

  • You can use the terminal via git status
  • You can use the RStudio GUI

Resolving Git Merge Conflicts

2. Assess the Damage

  • You can use the terminal via git status
  • You can use the RStudio GUI

Resolving Git Merge Conflicts

2. Assess the Damage

  • You can use the terminal via git status
  • You can use the RStudio GUI
  • You can use a Third Party

Resolving Git Merge Conflicts

2. Assess the Damage

  • You can use the terminal via git status
  • You can use the RStudio GUI
  • You can use a Third Party
  • You can use a Developer Platform (sometimes)

Resolving Git Merge Conflicts




3. Choose Your Own Adventure

Resolving Git Merge Conflicts

#=============================#
# Data Cut Dates---------------
#=============================#

<<<<<<< HEAD
main_data_cut: "2024-06-01"
=======
main_data_cut: "2024-01-01"
>>>>>>> master
vendor_1_data_cut: "2023-12-13"
vendor_2_data_cut: "2024-01-05"
vendor_3_data_cut: "2023-12-15"

Resolving Git Merge Conflicts


  • You are in control!
  • You can choose your code
  • Or “their” code…

Resolving Git Merge Conflicts

Resolving Git Merge Conflicts

Anything Goes

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣤⣤⣤⣄⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠤⠖⣚⣩⣭⣥⣶⣶⣶⣶⣶⣶⣶⣬⣭⣙⣛⠲⢦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⢰⣮⣧⡀⠀⠀⠀⠀⣀⠴⢚⣩⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣛⢻⣿⣿⣿⣿⣿⣷⣮⣝⡳⢦⣄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⣿⣿⣿⣿⣦⣀⡴⢚⣵⣾⣿⣿⣿⣿⣿⢿⣟⣿⡽⣛⣭⡶⠿⢿⣿⣹⣿⣿⡿⣿⣿⣿⣿⣿⣿⣷⣜⡻⢦⡀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣯⣿⣿⣿⣿⡿⢫⣶⣿⣿⣿⣿⡿⣿⣽⣾⣿⡿⣽⡾⠛⠉⠀⠀⣼⣟⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⡿⠮⠿⠷⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⣹⣿⣿⢟⣼⣿⣿⣿⣿⢿⣷⣿⣿⣟⣿⡿⣿⣿⣦⣄⠀⠀⢠⣿⣽⣿⣿⣿⣿⣿⣿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡾⣛⢻⣾⣿⣿⡿⣿⣾⣿⣿⣽⣾⣿⣟⣿⣿⣻⣿⣿⣷⣀⣾⢿⣿⣿⡿⣿⣿⣿⣿⣳⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣇⣿⣿⣟⣿⣿⣯⣷⣿⡿⣯⣷⣿⣿⣻⣿⣷⣿⣿⣿⣿⣿⣿⡿⣿⣿⣷⣿⣿⣿⣷⣝⢦⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⠟⣿⣹⣿⢿⣻⣷⣿⣿⣽⣿⡿⣿⡿⢛⣩⣤⣦⣭⡻⣷⣿⣿⣻⣿⢿⣷⡿⣿⣾⡿⣿⣿⣷⡝⢦⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⠀⣿⣿⣻⣿⣿⢿⣷⣿⣻⣷⡿⣣⣾⣿⠟⠛⠻⣿⣿⣿⣿⣽⣿⢿⣿⣻⣿⡿⣷⣿⣿⢿⣿⣿⣦⠳⡄⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⠀⠸⣿⣿⣿⣾⣿⣿⣽⣿⢯⣿⠟⠋⠀⠀⠀⠀⠘⣿⣿⣾⣿⣻⣿⣿⣟⣿⣿⢿⣯⣿⣿⢿⣿⣿⣧⠹⡄⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⢹⣿⢿⣿⣿⣾⢟⣽⠟⠁⢀⡶⡀⠀⠀⠀⢰⣿⣿⣷⣿⢿⣟⣿⣿⣿⣿⣿⣿⣯⣿⣿⡿⣿⣿⣇⢳⡀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠈⡧⣾⡶⣿⡿⢭⣫⢵⠟⠁⠀⠀⣼⣿⡇⠀⠀⢠⣿⣿⣿⣾⣿⡿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣷⣿⣿⣿⣿⡈⣇⠀
⠀⠀⠀⠀⠀⠀⠀⢀⣠⣀⠀⠀⠀⠀⢀⠞⠁⠈⢱⠀⠀⢳⡈⠻⢾⣷⠉⠒⠠⣀⠀⠀⠀⢿⣿⠀⢀⠴⠿⢿⣿⣯⣷⣿⣿⢿⣷⣿⣿⣷⡽⣿⢿⣿⣿⣿⣽⣿⣿⡇⣿⠀
⠀⠀⠀⠀⠀⢠⠞⡁⠄⠀⠙⣆⠀⡰⠃⠀⠀⡀⡼⠀⠀⠀⠙⢤⡀⠀⠀⠀⠀⠀⠉⠀⠒⠚⠃⠈⢠⣶⠀⣼⣿⣿⣿⣿⣾⣿⣿⣽⣾⣿⣷⡝⣆⠈⠛⢿⣿⣿⣿⣗⣸⡀
⠀⠀⠀⡠⠖⠾⡆⡀⠀⠀⠀⢸⠋⠀⠀⠀⣐⡤⠃⠀⠀⠀⠀⠀⠉⠲⢤⣀⠀⠀⠀⠀⠤⠄⠐⠒⣁⣤⣾⣿⣿⣿⣿⣷⣿⢿⣾⡿⣟⣿⣿⣿⠸⡆⠀⠀⠙⢿⣿⣷⢸⡇
⠀⢀⠞⡀⠁⠐⣷⠰⠀⠀⠀⠀⡄⠀⢀⠵⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠽⢿⡶⣶⣶⣾⣿⡟⢻⣻⣿⠿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⡇⢿⠀⠀⠀⠀⠹⣿⢼⡃
⠀⢘⣆⠃⠀⠀⠘⣆⠆⠀⠀⠀⣇⠔⣯⡄⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⢋⠀⠀⠀⠙⠶⣽⣿⣿⣧⣆⡴⠋⠓⡬⡛⢿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⢸⡄⠀⠀⠀⠀⠈⠿⠀
⡔⠁⠘⣄⠀⠀⠀⠘⡌⠄⠀⠀⣸⢠⠰⠧⡀⠀⠀⠀⢀⣠⣖⡫⣵⠣⠁⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣷⣄⠀⠈⠊⢢⡍⠻⢿⣿⣿⣷⣿⣿⣿⣿⢘⡇⠀⠀⠀⠀⠀⠀⠀
⢧⠀⠀⠈⠂⡀⠀⠀⠈⠒⣤⠾⣡⢎⠂⢠⡗⠒⠒⠋⠅⠀⣹⣴⠇⠂⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⡏⠀⢀⢠⠃⠀⠀⠉⢿⣿⣿⣽⣿⣿⢸⡇⠀⠀⠀⠀⠀⠀⠀
⢈⠷⣄⠀⠀⠈⠒⠤⡄⣴⣥⠶⠣⠟⢀⡞⡇⠀⠀⠀⣀⡴⠋⢹⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⡿⠿⣛⡟⠀⠀⣊⡞⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⢸⡇⠀⠀⠀⠀⠀⠀⠀
⠸⡀⠀⠒⠀⠤⠤⣤⢳⣡⡏⠀⠀⢀⠾⠾⠖⠒⠚⠋⠁⠀⠀⢸⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣻⡇⠀⠻⢦⣀⣈⣼⡳⡄⠀⠀⠀⠀⠀⠈⢿⣿⡏⣾⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠉⠒⠦⠤⠤⠤⠞⠛⠶⠾⠒⠒⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣦⣀⣀⣤⣾⣿⣿⣿⢿⡟⣿⠋⢆⠀⠀⠈⠉⠉⢀⡇⠀⠀⠀⠀⠀⠀⠈⢻⣟⡟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢻⣿⣿⣿⣿⢿⣯⣿⢺⣤⣿⢦⡀⠀⠀⠰⠦⠉⢹⠦⡄⠀⠀⠀⠀⠀⠀⠀⠻⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣾⣿⣿⣿⣾⣿⣿⣿⡟⣿⡿⢄⠈⠳⠦⣤⣀⡴⠋⣱⡘⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⣿⣿⣿⡍⢻⣿⣽⣿⣹⡇⠈⠠⠀⠀⠀⠉⢡⠊⢀⣹⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣽⣿⣿⡇⠈⢿⣿⣿⣷⡇⠀⠀⠀⠀⠀⠀⠀⢣⠊⠀⢸⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣟⣿⣿⣿⠀⠸⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣻⡇⠀⢹⣿⣾⣿⡇⠀⠀⠀⠀⠀⠐⠁⠃⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡿⣿⣿⣿⡀⠈⣿⣿⣿⣿⣤⣀⠀⠀⠀⣀⡠⠤⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢷⣿⣿⢿⣇⠀⢸⣿⣿⢿⣷⢻⠉⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣹⣿⣿⣿⡦⠤⢿⣿⣿⣿⣧⢣⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⢡⣜⣏⣿⣿⣽⣿⣦⡽⣿⣿⢿⣿⣎⢧⡌⠉⠑⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⡇⠀⠈⠉⠛⠛⠛⠉⡝⠁⣰⣹⣿⣿⣿⣿⣾⣿⡗⠀⠠⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣹⠒⠤⣀⠀⠀⠀⡼⡆⡀⠙⠻⠿⠿⠿⠿⠟⠋⠀⠄⡼⠧⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⣀⠴⢇⠀⠤⠐⠛⠂⠀⠑⡵⣤⢀⡀⠀⠀⠀⠀⠀⢀⣔⡉⠀⡀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠔⣪⣑⣈⠀⠀⠈⠫⡒⠤⠤⠤⠤⣴⣶⡇⠀⠠⠵⠂⠀⠀⠀⠀⠈⠀⢐⣠⣞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣵⣾⡿⣟⣿⣻⣷⣦⣄⠀⠑⠢⡀⠀⠘⣿⣿⣦⣄⣀⣠⣤⣤⣤⠴⠒⠉⢁⣀⣈⡙⢿⡳⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣻⢾⣽⣟⡷⣟⣾⡽⣯⣧⡀⠀⠘⣄⢂⢻⣿⣟⣿⣻⢯⣟⠟⠁⠉⠉⠉⠀⠀⠀⠀⠀⠉⠳⡙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡿⣽⣞⣯⣿⣳⣯⢿⣻⣽⣻⣽⣻⡇⠀⢠⣇⣎⢼⣿⣿⣳⣿⣻⡟⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣾⢿⣿⣦⣹⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⡿⣯⣿⣽⢾⣻⡾⣽⢯⣿⣯⡷⠿⠷⣛⣷⣠⣃⣤⣴⣾⢯⡻⢷⣯⣿⠀⠀⠀⠀⠀⠀⢠⣾⣟⣯⣷⣟⡿⣾⡽⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⡛⠦⢭⣉⣉⣉⡩⠭⠭⠤⠖⠒⠛⣉⣉⣭⡾⠿⠛⠛⠛⢦⣙⠧⣍⣿⢀⠀⠀⠀⠀⢀⣿⣟⣾⣻⢾⣽⣻⢷⣿⣳⣯⣿⣆⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠓⠲⠤⠤⠤⠴⠒⠒⠒⠛⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠉⠳⢮⡙⠢⣈⠂⠄⠀⢸⣿⣞⣯⢿⣯⡷⣿⣻⣾⣽⣳⣯⣿⡄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠳⢤⣉⠒⠄⣿⠛⠾⢿⣻⣾⣽⢷⣟⡾⣷⣻⢷⣻⣷⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠑⠢⢤⣉⠓⠲⠤⣉⡙⠛⠚⠛⠛⢛⣫⡵⣋⡇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠑⠒⠤⠤⢭⣉⣉⣙⣩⡥⠶⠋⠀⠀⠀⠀⠀

Resolving Git Merge Conflicts

Don’t Be Scared

Be Careful…

Maybe This Won’t Be So Bad

Conflicts are Not Git Problems

Merge conflicts are not Git problems

They are…

Communication Problems

Workflow Problems

Knowledge Gap Problems

Git Conflict Mitigation

Communication

  • Talking with Others
  • Naming/styling Conventions
  • Consistent Formatting

Git Conflict Mitigation

Git Conflict Mitigation

Workflow

Be thoughtful before, during, and after your coding sessions

  • Before You Code:
    • Emergencies aren’t real 🤷🏾
    • Check Git Environment
    • Check Branch Status and “Drift”
    • ALWAYS pull first before touching ANYTHING

Git Conflict Mitigation

Workflow

Be thoughtful before, during, and after your coding sessions

  • During Your Coding:
    • Commit Often (with repeated amends)
    • Push Thoughtfully but consider “Branch Drift” risk
    • Use git stashes when there’s ✌🏾emergencies✌🏾

Git Conflict Mitigation

Workflow

Be thoughtful before, during, and after your coding sessions

  • After You Code:
    • Leave nothing behind
    • You are Reviewer #1

Git Conflict Mitigation

Knowledge

Learn what you need to, how you need to by (Watching, Reading, Doing, or Skimming)

Because, sometimes…
you may really just need to do more with git


I Got This