In season 1 Giles's hair was very dark.
As we got to know him better his hair got lighter and some gray came through.
Giles's hair then got cut shorter and was made more brown.
Longer and more grayish...
In season 3 Giles's hair was shorter and grayer.
In season 4 Giles's hair was shorter and darker.
In season 6 Giles's hair was a half and half between grey and dark brown.  It was also cut shorter.