У гита сложный алгоритм, также как и у rsync, но гит еще и самая сложная утилита. в принципе где то про это даже писали. Поэтому если нужно чесать ещё и изменения внутри текстовых файлов, то это гит, а если чекать изменения то нужен индекс на основе b tree
Изменения внутри не надо чекать, по сути нужно только уметь обнаруживать, что файлы были удалены или добавлены, всё