件的共同祖先文件。在遇到十字交叉合并（criss-cross merge）时，不存在独一无二最小共同祖先。Git采取了递归三路合并(Recursive three-way merge)，对没有共同祖先的一对文件递归创建虚拟祖先。这一方法还可以用于有向无环图。
模煳修补包算法.修补包是一个文件，包含另一个文件的改变的描述。Unix传统使用修补包传播一个文本文件的改变，这个修补包可用命令"diff -u"生成，然后用命令patch把修补包应用到一个文本文件。 但patch程序也可