Git w zastosowaniach nieprogramistycznych
02 marca 2008, 19:05:30W sumie nie jest to nic bardzo odkrywczego, ale warto odnotować, że Git przydaje się nie tylko do śledzenia zmian w kodzie źródłowym. Ostatnio używam go do rejestrowania zmian w plikach konfiguracyjnych serwera.
I tak dla przykładu: w katalogu w którym znajdują się pliki ze strefami DNS (/var/cache/bind/) założyłem repozytorium Git (git init; git add .; git commit -a -m "hello world"). Dodatkowo, do pliku .git/hooks/post-commit wpisałem linijkę "rndc reload" oraz nadałem mu prawo wykonywalności (chmod +x).
Teraz wszystkie zmiany w strefach zatwierdzam przez git commit -a, wpisuję opis i powód zmian, których dokonałem, a reszta robi się sama.
Jeśli mamy serwer, którym administruje kilka osób (i używa do tego sudo), możemy łatwo rejestrować, kto dokonuje zmian w konfiguracji. Każdy z adminów musi jedynie (na swoim koncie) wykonać polecenie git config --global user.name "Imie i nazwisko", a dokonywane przez niego zmiany będą podpisane jego nazwiskiem. Co najważniejsze: wszystko odbywa się bez żadnych dodatkowych (prywatnych, lokalnych) kopii repozytoriów.
Podobnego rozwiązania można używać też do śledzenia zmian konfiguracji innych usług serwera, np. Apache'a, albo i całego drzewa /etc/


