To get around problems of backwards-compatibility, and possibly machine-specific tailoring, you can use some form of a template to modify dotfiles upon git-clone:

use of templates for backwards-compatiibility

use of templates for machine-specific tailoring

use of templates for user-specific tailoring

(when there's a centralized version of the dotfiles that many different people use)