git 如何自动合并文件内容?

git可以自动进行文件合并

情况1 :文件A在第一次提交成功后,分别被A用户和B用户编辑后提交,A用户pull B用户的提交,这时,git判断两个文件是否冲突,如果不冲突则进行合并

情况2 :文件A在第一次提交成功后,B用户对其进行了编辑提交,A用户没有对文件做出任何修改,pull B用户的提交,这时,git会自动用B用户的修改去覆盖A用户的文件,即使A文件同一行的内容不同

思考:git是如何判断什么情况可以直接进行覆盖,什么情况需要进行合并。