Практически ничего не стоит использовать историю коммитов, поддерживаемую системой контроля версий. Тем не менее, во время крупного проекта по рефакторингу (или реорганизации / очистке) функции и классы и даже пространства имен будут перемещаться; иногда несколько файлов будут объединены вместе, а...