Co prawda nie używam gita tylko głównie svn ale chyba rozumiem twój problem. Ja robię tak, że plik konfiguracyjne na różne okoliczności (zwykle są site-specific) wrzucam pod zmienioną nazwa typu config.example, config.home itp. Jeśli wrzucisz taki plik normalnie, to jeśli ktoś to sobie sciągnie i będzie musiał zmienić to u niego plik będzie oznaczony jako zmodyfikowany i może przypadkiem zostać zwrócony w takiej postaci. Czyli plików roboczych pod oryginalną nazwą nie wrzucamy, natomiast można pod nazwą zmienioną, które ewentualnie można lokalnie skopiować pod nazwę roboczą. Oczywiście można się też posilić .gitignore, ale sama obecność przykładowych plików konfiguracyjnych to raczej dobra rzecz.