Force Git to always choose the newer version during a merge?

GitMergeConflict

Git Problem Overview


Let's assume I merge git and there is a merge conflict.

My question is: how can I force git to always choose the newer version of code in conflict so I won't need to resolve the conflict by hand?

Git Solutions


Solution 1 - Git

It is not exactly the "newer" version, but you can tell git to always prefer the version on the current branch using git merge branch -X ours, or to prefer the version of the branch being merged, using git merge branch -X theirs.

From man git-merge:

> ours: > > This option forces conflicting hunks to be auto-resolved cleanly by favoring our version. Changes from the other tree that do not > conflict with our side are reflected to the merge result. For a binary file, the entire contents are taken from our side. > > theirs: > > This is the opposite of "ours".

Solution 2 - Git

I use this,

git fetch --prune
git reset --hard origin/master

Solution 3 - Git

Take a look at my answer in https://stackoverflow.com/questions/68604789/git-timestamp-based-automated-sync?noredirect=1&lq=1

Essentially we have to do manual timestamp comparison. I do not think git merge has any built-in utility for this.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionbartekView Question on Stackoverflow
Solution 1 - GitRenato ZannonView Answer on Stackoverflow
Solution 2 - GitwolfgangView Answer on Stackoverflow
Solution 3 - GitSmoothKenView Answer on Stackoverflow