I found this in a GIT man page. (Emphasis added by me.)
unionI thought that was pretty good advice for all programming (but it does apply double to GIT).
Run 3-way file level merge for text files, but take lines from both versions, instead of leaving conflict markers. This tends to leave the added lines in the resulting file in random order and the user should verify the result. Do not use this if you do not understand the implications.