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

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


I use this,

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

Take a look at my answer in Git timestamp based automated sync

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