Currently on Mac-os-x, when copying from hfs to non-hfs, such as to a FAT32 usb-stick, sometimes it looks like FreeFileSync (7.8 build 1-Jan-2016) creates ._* files on FAT32 volume. For example, for 2 files foo.txt and bar.txt, on the destination will be 4 files: foo.txt, ._foo.txt, bar.txt, ._bar.txt, etc. Suppose a usb-stick with Fat32 format is mounted at /Volumes/FAT32 (or you can use a fat32 formated FAT32.dmg file).
Create foo.txt and bar.txt in TextEdit, make some changes, and Quit TextEdit, saving the files to /Users/Shared folder. Then the ._* files would be created by
cp -p /Users/Shared/foo.txt /Volumes/FAT32
cp -p /Users/Shared/bar.txt /Volumes/FAT32
cp -pX /Users/Shared/foo.txt /Volumes/FAT32
cp -pX /Users/Shared/bar.txt /Volumes/FAT32
man 1 cp
... cp -- copy files
... -X Do not copy Extended Attributes (EAs) or resource forks.
That is, on Mac-os-X, when copying from non-hfs to hfs, this filter works to exclude these items from destination:
/.fseventsd/
/.Spotlight-V100/
/.Trashes/
*/.DS_Store
*/._.*
*/.gitignore
Note: if these were copied to a hfs destination, I think dot_clean could be used to clean them up:
man 1 dot_clean